Version 1.26.1 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.26.1] - 2024-09-13 ### Added * Add `php-base-mode` which is the base of php related modes ([#772]) * `php-base-mode` is designed as a common parent mode for `php-mode` ~~and [`php-ts-mode`](https://github.com/emacs-php/php-ts-mode)~~. ### Changed * Make `php-mode` inherit from `php-base-mode` instead of `c-mode` ([#772]) * Modify indentation of [PEAR Coding Standards] ([#774], [#777]) * No longer overindent it by default, since we don't see any mention in the coding style that it should hang `.`. (refs [#227] and [#229]) * **If you have any feedback on PEAR style, please let us know in [the discussion #776][#776].** * Remove `$` from face names for interoperability with treesit ([#780], [emacs-php/php-ts-mode#68]) * `php-$this` → `php-this` * `php-$this-sigil` → `php-this-sigil` * Add `php-function-call-standard` face inherit `font-lock-function-call-face` on Emacs 29.1 and above ([#782], thanks [@bricka]!) * Add `-tranditional` suffix to the `php-*-call` faces. * `php-function-call` → `php-function-call-traditional` * `php-method-call` → `php-method-call-traditional` * `php-static-method-call` → `php-static-method-call-traditional` * Add variables for the `php-function-call`, `php-method-call`, and `php-static-method-call` faces, defaulting to the `-traditional` face. * Changes how php-syntax-propertize-rules are applied for the first time. ([#785] and [#786]) * This change is expected to make heredoc and attribute coloring more stable and reduce flicker. ### Removed * Remove `php-mode-disable-c-mode-hook` custom variable and `php-mode-neutralize-cc-mode-effect` function ([#775]) * `php-mode` no longer inherits `c-mode`, so this variable won't work. [#227]: https://github.com/emacs-php/php-mode/pull/227 [#229]: https://github.com/emacs-php/php-mode/pull/229 [#772]: https://github.com/emacs-php/php-mode/pull/772 [#774]: https://github.com/emacs-php/php-mode/issues/774 [#775]: https://github.com/emacs-php/php-mode/pull/775 [#776]: https://github.com/emacs-php/php-mode/discussions/776 [#777]: https://github.com/emacs-php/php-mode/pull/777 [#780]: https://github.com/emacs-php/php-mode/issues/780 [#782]: https://github.com/emacs-php/php-mode/issues/782 [#785]: https://github.com/emacs-php/php-mode/issues/785 [#786]: https://github.com/emacs-php/php-mode/pull/786 [@bricka]: https://github.com/bricka [emacs-php/php-ts-mode#68]: https://github.com/emacs-php/php-ts-mode/pull/68 [PEAR Coding Standards]: https://pear.php.net/manual/en/standards.php ## [1.26.0] - 2024-09-13 > [!NOTE] > This version was cancelled due to a release error. ## [1.25.1] - 2023-11-24 ### Added * Add `php-topsy-beginning-of-defun-with-class` to display classname with function signature. ([#766]) * Add missing `__DIR__` to `php-magical-constants` ([#756], thanks [@piotrkwiecinski]) ### Changed * Make developer build task in Makefile now depends on Eask. ([#762], thanks [@jcs090218]) * This change does not affect package installation users * Read [CONTRIBUTING.md] if you prefer to build it yourself from zip or tar ball ### Fixed * Fixed build failure in Emacs on master branch ([#764], [#765], [#767], thanks [@takeokunn]) ### Removed * Removed Phan-specific features from `php-project` ([#754]) * Removed [Cask](https://cask.readthedocs.io/) and [Keg](https://github.com/conao3/keg.el) metadata files for building ([#770]) [#754]: https://github.com/emacs-php/php-mode/pull/754 [#756]: https://github.com/emacs-php/php-mode/pull/756 [#762]: https://github.com/emacs-php/php-mode/pull/762 [#764]: https://github.com/emacs-php/php-mode/issues/764 [#765]: https://github.com/emacs-php/php-mode/pull/765 [#766]: https://github.com/emacs-php/php-mode/pull/766 [#767]: https://github.com/emacs-php/php-mode/pull/767 ... ...