:lang php
Perl’s insecure younger brother
1. Description
This module adds support for PHP 5.3+ (including PHP7).
- ctags-based code completion (
company-php
andphpctags
) - eldoc support (
ac-php
andphp-extras
) - REPL (
php-boris
) - Code refactoring commands (
php-refactor-mode
) - Unit-test commands (
phpunit
) - Support for
laravel
andcomposer
projects (with project-specific snippets) - File templates
- Snippets
PHP was the first programming language I got paid to code in, back in the Cretaceous period (2003). My sincerest apologies go out to all the programmers who inherited my earliest PHP work. I know you’re out there, writhing in your straitjackets.
Save a programmer today. Stop a friend from choosing PHP as their first language.
1.1. Maintainers
This module has no dedicated maintainers.
1.2. Module flags
- +hack
- Add support for the Hack dialect of PHP by Facebook.
- +lsp
- Enable LSP support through phpactor or intelephense. Requires :tools lsp module and the phpactor server to be installed on your system.
1.3. Packages
2. Prerequisites
2.1. PHP
To get started with PHP, you’ll need php
(5.3+) and composer
.
Note for +lsp:
- In order to make full use of phpactor server,
php
(7.3+) is recommended. - If you use intelephense,
node
andnpm
are needed.
2.1.1. MacOS
2.1.2. Arch Linux
2.2. Dependencies
This module has no required dependencies, but it has a couple optional ones.
boris
(REPL)phpctags
(better code completion)phpunit
(unit test commands)php-cs-fixer
and@prettier/plugin-php
(for code formatting)
$ composer global require \ d11wtq/boris \ phpunit/phpunit \ techlivezheng/phpctags \ friendsofphp/php-cs-fixer # Needed by php-cs-fixer, otherwise you'll get "Couldn't resolve parser # 'php'" errors $ npm install -g @prettier/plugin-php
You must ensure that ~/.composer/vendor/bin is in PATH
, so these executables
are visible to Emacs:
# place this in your profile file, like ~/.bash_profile or ~/.zshenv $ export PATH="~/.composer/vendor/bin:$PATH"
You may also need to regenerate your envvar file by running $ doom env
on the
command line.
To use intelephense instead of , run
M-x lsp-install-server
and chooseiph
to install lsp-intelephense.
3. TODO Usage
This module has no usage documentation yet. Write some?
4. TODO Configuration
This module has no configuration documentation yet. Write some?
5. TODO Troubleshooting
There are no known problems with this module. Report one?
6. TODO Appendix
This module has no appendix yet. Write one?