Skip to navigation
IDE like PHP autocomplete with emacs
18.06.23
# One way to have PHP autocomplete with Emacs ## install the following: 1. PHP language server (phpactor) ```console sudo curl -Lo phpactor.phar https://github.com/phpactor/phpactor/releases/latest/download/phpactor.phar sudo chmod +x phpactor.phar sudo mv phpactor.phar /usr/bin/phpactor ``` 2. Emacs lsp-ui mode (client to all the language server like phpactor) (see init.el) 3. Emacs php-mode (see init.el) 4. Emacs company-mode (see init.el) ## the mechanics * Emacs loads the php mode. * php-mode loads the lsp-ui client mode * lsp-ui mode connects over RPC to an LSP (language server protocol) what is installed under /usr/bin/phpactor * lsp-ui mode uses the company-mode, a text completion framework for Emacs ## complete example /home/.emacs.d/init.el file for PHP autocomplete ```lisp ;Repository Setup (require 'package) (add-to-list 'package-archives'("melpa" . "https://melpa.org/packages/") t) (package-initialize) ;Package Installs (unless package-archive-contents (package-refresh-contents)) ;Install and update the use-package mode when missing (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package) ) ;Install company mode when missing (unless(package-installed-p 'company) (package-refresh-contents) (package-install 'company) ) ;Install lsp-ui mode when missing (unless(package-installed-p 'lsp-ui) (package-refresh-contents) (package-install 'lsp-ui) ) ;Install php-mode mode when missing (unless(package-installed-p 'php-mode) (package-refresh-contents) (package-install 'php-mode) ) ;PHP file hooks (dolist (hook '(php-mode-hook)) (add-hook hook (lambda () (flyspell-mode 1))) (add-hook hook (lambda () (lsp))) (setq lsp-clients-php-server-command "/usr/bin/phpactor") (setq lsp-enable-file-watchers nil) ) ``` ## test by typing print into your Emacs ```php print ``` ### in your Emacs bottom status line, you may see something like this once all if ready ```console -UUU:**--F1 hooks.php Top L16 Hg:481084 (PHP//l company Fly/-- LSP[phpactor:74631] ```
https://emacs-lsp.github.io/lsp-mode/page/lsp-phpactor/
Reply
Anonymous
Information Epoch 1751541802
Live free or die.
Home
Notebook
Contact us