Version 1.25.0 of package Php-Mode has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Php-Mode describes itself as: =============================== Major mode for editing PHP code =============================== More at https://elpa.nongnu.org/nongnu/php-mode.html ## Summary: PHP Mode is a major mode for editing PHP script. It's an extension of CC mode; thus it inherits all C mode's navigation functionality. But it colors according to the PHP syntax and indents according to the PSR-2 coding guidelines. It also includes a couple handy IDE-type features such as documentation search and a source and class browser. Please read the manual for setting items compatible with CC Mode. https://www.gnu.org/software/emacs/manual/html_mono/ccmode.html This mode is designed for PHP scripts consisting of a single <?php block. We recommend the introduction of Web Mode for HTML and Blade templates combined with PHP. http://web-mode.org/ Modern PHP Mode can be set on a project basis by .dir-locals.el. Please read php-project.el for details of directory local variables. ## Recent NEWS: # Changes for PHP Mode by Version All notable changes of the PHP Mode 1.19.1 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. <!-- ## Unreleased --> ## [1.25.0] - 2023-07-24 ### Added * **Support Emacs 29.1** ([#743], [#750]) ### Fixed * Fixed many byte compilation errors on Emacs 29 and 30 by multiple patches contributed by [Stefan Monnier] ([#737], [#739] and [#740], thanks Stefan!) * Fixed PEAR method chaining wrong indentation ([#745] and [#746], thanks [@cweiske]!) * Fixed `php-mode-debug-reinstall` command ([#747], [#748]) ### Removed * Drop Emacs 25 support ([#729], [736]) [Stefan Monnier]: https://www.iro.umontreal.ca/~monnier/ [#729]: https://github.com/emacs-php/php-mode/pull/729 [#736]: https://github.com/emacs-php/php-mode/pull/736 [#737]: https://github.com/emacs-php/php-mode/pull/737 [#739]: https://github.com/emacs-php/php-mode/pull/739 [#740]: https://github.com/emacs-php/php-mode/pull/740 [#741]: https://github.com/emacs-php/php-mode/pull/741 [#743]: https://github.com/emacs-php/php-mode/pull/743 [#745]: https://github.com/emacs-php/php-mode/pull/745 [#746]: https://github.com/emacs-php/php-mode/pull/746 [#747]: https://github.com/emacs-php/php-mode/pull/747 [#748]: https://github.com/emacs-php/php-mode/pull/748 [#750]: https://github.com/emacs-php/php-mode/pull/750 ## [1.24.3] - 2023-03-19 ### Added * **Net feature**: `php-format` ([#731]) * Add `php-format-project` and `php-format-this-buffer-file` commands * Add `php-format-auto-mode` minor mode * **Experimental feature: `php-ide`** ([#709]) * Add `php-ide-phpactor` as simple IDE feature without LSP clients * Add `php-ide-mode` minor mode for binding IDE-like features ### Fixed * Fix array indentation broken by commenting out ([#726], [#732]) ### Removed * No longer highlights `'link` in PHPDoc ([#724]) * Please use `goto-address-prog-mode` minor mode [#709]: https://github.com/emacs-php/php-mode/pull/709 [#724]: https://github.com/emacs-php/php-mode/pull/724 [#726]: https://github.com/emacs-php/php-mode/pull/726 [#731]: https://github.com/emacs-php/php-mode/pull/731 [#732]: https://github.com/emacs-php/php-mode/pull/732 ## [1.24.2] - 2022-11-13 ### Added * **New feature: `php-complete`** * Add `php-complete-complete-function` to autocomplete function names ([#708]) * **New feature: `php-flymake`** * Add `php-flymake` as a flymake backend compatible with Emacs 26 and above ([#718]) * Supports PHPDoc tags and types for static analysis tools ([#710], [#715], [#716], [#717], thanks to [@takeokunn]) * Please refer to the article below * PHPStan: [PHPDoc Types](https://phpstan.org/writing-php-code/phpdoc-types) * PHPStan: [PHPDocs Basics](https://phpstan.org/writing-php-code/phpdocs-basics) * Psalm: [Atomic Type Reference](https://psalm.dev/docs/annotating_code/type_syntax/atomic_types/) * Psalm: [Supported Annotations](https://psalm.dev/docs/annotating_code/supported_annotations/) * Psalm: [Template Annotations](https://psalm.dev/docs/annotating_code/templated_annotations/) * Add `php-mode-replace-flymake-diag-function` custom variable and default activated it ([#718]) * Add `php-mode-debug-reinstall` command to help users who update Emacs themselves ([#721]) ### Changed * Make continued expressions inside lists (arguments and arrays, etc.) have the same indent width as outside the list ([#703]) * (internal) Improved readability of test failures about indentation ([#707]) * `php-doc-annotation-tag` inherits `font-lock-doc-markup-face` if defined in Emacs 28 ([#711]) * Make `php-mode-version` function include a Git tag and revision ([#713]) * Like `"1.23.4-56-xxxxxx"` for example. * Change `php-phpdoc-type-keywords` to `php-phpdoc-type-names` to avoid confusion ([#717]) * Make `php-flymake-php-init` append to `flymake-allowed-file-name-masks` only in legacy Flymake ([#718]) ### Deprecated * Make obsolete `php-mode-version-number` contstant variable ([#712]) ... ...