phpinspect is an emacs lisp package that aims to provide emacs with IDE-like features for PHP files and projects. Among other things phpinspect provides PHP developers with code completion, import management and project navigation features. Under the hood is a custom PHP parser that is implemented in 100% pure emacs lisp.


Over the years I have tried using a plethora of solutions for PHP code intelligence within emacs. I tried everything ranging from language server implementations to ctags based solutiions, to custom emacs integrations for software like phpactor. While some solutions worked fine in some scenarios, all of them had problems for my use cases. I encountered performance issues (language servers implemented in PHP would have massive memory consumption), lack of sophistication (ctags based solutions don't understand object oriented code well enough) or simply a lack of features. After a while I got invested enough to start implementing a solution myself with the main goals of being able to work with large projects, being sophisticated enough to understand object oriented code and being simple to setup from within emacs.

Current Status

While the software is already useful to me in its current state, it needs more polish and an overhaul of some features before it's ready for others to try out comfortably. That is why I am working towards a ready for fieldtesting milestone . I hope to get the project ready for others to try out before the end of summer this year (2022).

Source Code

The source code is available on github, issues or pull requests made there will be welcomed.


The main repository resides at a selfhosted git server and is mirrored to github every 8 hours. An issue tracker with the things I'm currently working on can also be found there.

First published: Mon, 23 May 2022 18:48:08 +0000
Last edited: Wed, 25 May 2022 05:54:31 +0000