PHP
PHP support is available through the PHP extension.
- Tree-sitter: https://github.com/tree-sitter/tree-sitter-php
- Language Servers:
Choosing a language server
The PHP extension offers both phpactor
and intelephense
language server support.
phpactor
is enabled by default.
Phpactor
The Zed PHP Extension can install phpactor
automatically but requires php
to be installed and available in your path:
# brew install php # macOS
# sudo apt-get install php # Debian/Ubuntu
# yum install php # CentOS/RHEL
# pacman -S php # Arch Linux
which php
Intelephense
Intelephense is a proprietary language server for PHP operating under a freemium model. Certain features require purchase of a premium license.
To switch to intelephense
, add the following to your settings.json
:
{
"languages": {
"PHP": {
"language_servers": ["intelephense", "!phpactor", "..."]
}
}
}
To use the premium features, you can place your licence.txt file at ~/intelephense/licence.txt
inside your home directory. Alternatively, you can pass the licence key or a path to a file containing the licence key as an initialization option for the intelephense
language server. To do this, add the following to your settings.json
:
{
"lsp": {
"intelephense": {
"initialization_options": {
"licenceKey": "/path/to/licence.txt"
}
}
}
}
PHPDoc
Zed supports syntax highlighting for PHPDoc comments.
- Tree-sitter: claytonrcarter/tree-sitter-phpdoc