Add php-project-project-find-function compatible with project-find-functions
(add-hook 'project-find-functions #'php-project-project-find-function 0 t)
Merge pull request #693 from emacs-php/feature/php-project-project-find-function
Add php-project-project-find-function compatible with project-find-functions
Add Emacs 28.1 to CI
Emacs 28 is a current stable version
Merge pull request #694 from emacs-php/update/support-emacs28
Support Emacs 28.1
Recommend to install from NonGNU ELPA
Fix style
Use delq instead of cl-remove-if
Remove needless quote from choice values
Merge pull request #697 from syohex/quote
Remove needless quote from choice values
Fix php-run-builtin-web-server to expand root path
Merge pull request #699 from emacs-php/fix/php-run-builtin-web-server
Fix php-run-builtin-web-server to expand root path
Bump up version 1.24.1
Merge pull request #701 from emacs-php/release/1.24.1
Bump up version 1.24.1
Fix typo
Update AUTHORS
Update .gitignore
Remove (c-lang-defconst c-opt-<>-sexp-key)
fixed https://github.com/emacs-php/php-mode/pull/519/commits/8a437100f6b2bbb84bc8aee8577ba302922d2af1 refs https://github.com/emacs-php/php-mode/pull/519
Merge pull request #704 from emacs-php/fix/identation-arglist
Remove (c-lang-defconst c-opt-<>-sexp-key)
Fix Makefile
Use single quotation instead double quotation
Use RFC-3986 for URL encoding
Init repository
Add IndexNow implementation
Move traits to Helper
Make all methods throw DoNotCallMethodException
It seems easy to add system
, exec
and passthru
to disable_functions
.
https://github.com/glassmonkey/php-playground/blob/4aec4971c9565e56bdc605e56ff94424c1f68156/src/wasm/build-assets/php_wasm.c#L203
We have plans to drop support for Emacs 25 with the first release in February 2023.
Support Emacs Version · Issue #464 · emacs-php/php-mode
We can release support for older Emacs from the stable branch if needed, but be aware that it is not provided by MELPA.
| Version | Support | |---------|---------------------------------------| | 28.2 | Recommended | | 28.1 | Supported | | 27.x | Not Recommended. highlighting flickers | | 26.3 | Supported | | 26.2 | Supported | | 26.1 | Supported | | 25.3 | Supported | | 25.2 | Supported | | ≦ 25.1 | No longer supported |
| Version | Support | |---------|---------------------------------------| | 28.2 | Recommended | | 28.1 | Supported | | 27.x | Not Recommended. highlighting flickers | | 26.3 | Supported | | 26.2 | Compatible, but it is not tested. | | 26.1 | Supported | | ≦ 25.3 | No longer supported |
Make PHP Mode requires Emacs 26.1+
Merge pull request #736 from emacs-php/drop/emacs-25
Make PHP Mode requires Emacs 26.1+
closes https://github.com/emacs-php/php-mode/issues/729
Make PHP Mode requires Emacs 26.1+
closes https://github.com/emacs-php/php-mode/issues/729
Bump up version 1.24.3
Merge pull request #734 from emacs-php/release/v1.24.3
Bump up version 1.24.3
Add php-ide-phpactor.el
Add php-eglot.el
Add php-ide.el
Add lsp-bridge
Add php-ide-mode-hooks
Remove php-eglot.el
Update CHANGELOG
Add php-ide-eglot-server-program command
Add php-ide-mode-functions instead of php-ide-mode-hooks
Merge pull request #709 from emacs-php/feature/php-ide
Experimental feature: PHP-IDE
This feature is under development and experimental. All of these functions, modes and terms are subject to change without notice.
There are some IDE-like features / packages for PHP development. PHP-IDE bridges projects and their IDE-like features.
We don't recommend features, but bundle some feature bridges.
They are sorted alphabetically except none
.
none
: Does not launch any IDE features.eglot
lsp-bridge
lsp-mode
phpactor
: php-ide-phpactor
Put follows code into your .emacs (~/.emacs.d/init.el
) file:
(defun init-php-mode-setup ()
(add-hook 'hack-local-variables-hook #'php-ide-mode t t))
(defun init-php-ide-mode-setup (feature activate)
(pcase feature
(`lsp-bridge
(if activate
(progn (yas-minor-mode +1)
(corfu-mode -1))
(yas-minor-mode -1)
(corfu-mode +1)))))
(with-eval-after-load 'php-ide
(custom-set-variables
'(php-ide-features . 'eglot) ;; and/or 'none, 'phpactor, 'lsp-mode
'(php-ide-eglot-executable "psalm-language-server") ;; or "intelephense", '("php" "vendor/bin/path/to/server")
;; If you want to hide php-ide-mode from the mode line, set an empty string
'(php-ide-mode-lighter ""))
(add-hook 'php-mode-hook #'init-php-mode-setup)
(add-hook 'php-ide-mode-functions #'init-php-ide-mode-setup))
If you don't enable IDE support by default, set '(php-ide-feature 'none)
Put follows code into .dir-locals.el
in project directory:
((nil (php-project-root . git))
(php-mode (php-ide-features . (lsp-mode))))
If you can't put .dir-locals.el
in your project directory, consider the sidecar-locals package.
close https://github.com/emacs-php/php-mode/pull/656.