NonGNU-devel ELPA - php-mode


Major mode for editing PHP code
php-mode- (.sig), 2024-Mar-31, 720 KiB
USAMI Kenta <>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

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.

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.

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.

If you are using a package manager, you do not need (require 'php-mode) in
your ~/.emacs.d/init.el.  Read the README for installation instructions.

Old versions

php-mode- KiB
php-mode- KiB
php-mode- KiB
php-mode- KiB
php-mode- KiB
php-mode- 101 KiB
php-mode- 101 KiB
php-mode- KiB
php-mode- KiB
php-mode- KiB


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 principles.


  • 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.
  • 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.
  • 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.

[1.25.1] - 2023-11-24

  • 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])
  • Make developer build task in Makefile now depends on Eask. ([#762], thanks [@jcs090218])
    • This change does not affect package installation users
    • Read [] if you prefer to build it yourself from zip or tar ball
  • Fixed build failure in Emacs on master branch ([#764], [#765], [#767], thanks [@takeokunn])
  • Removed Phan-specific features from php-project ([#754])
  • Removed Cask and Keg metadata files for building ([#770])

[1.25.0] - 2023-07-24

  • Support Emacs 29.1 ([#743], [#750])
  • 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])
  • Drop Emacs 25 support ([#729], [736])

... ...