Version 2.1.0 of package Phpinspect has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Phpinspect describes itself as: ========================================= PHP parsing and code intelligence package ========================================= More at https://elpa.gnu.org/packages/phpinspect.html ## Summary: PHPInspect is a minor mode that provides code intelligence for PHP in Emacs. At its core is a PHP parser implemented in Emacs Lisp. PHPInspect comes with backends for `completion-at-point`, `company-mode` and `eldoc`. A backend for `xref` (which provides go-to-definition functionality) is planned to be implemented at a later date. ## Recent NEWS: Version 2.1.0 - Implemented basic support for completion of keywords and type names - Made completion of function names, type names and keywords context-aware so that the provided completions are relevant at point. - Implemented interactive function to insert type names and automatically import them when necessary, called `phpinspect-insert-type'. - Fixed end-of-buffer error bugs in parsing of comments - Fixed bug in `phpinspect-suggest-variables-at-point' which caused local "foreach" variables to not be suggested. - Fixed infinite recursion bug caused by typedef dependent on itself (only occured when the type definition could not be found via the autoloader) - Made incremental parser more reliable by not adopting incomplete tokens into new tree. - Increased overall test coverage of phpinspect-suggest.el and phpinspect-completion.el Version 2.0.1 - Fixed bug in `phpinspect-fix-imports' that caused it to not function properly for types used in within classes. Version 2.0.0 - Implemented support for traits - Implemented more accurate/nuanced in-memory representation of types and inherited properties/methods. `phpinspect--class' has been removed and replaced with `phpinspect-typedef', the the function prefix of which is "phpi-typedef-". This change is backwards-incompatible due to various name changes, refactorings and function/type removals. - Improved completion performance by re-using completion lists when possible. - Introduced new customizable variable: `phpinspect-imports-remove-unused', which enables/disables this behaviour for `phpinspect-fix-imports'. The default is disabled (nil). - Increased test coverage for the parser and fixed various bugs discovered in the process. Version 1.2.0 - Fixed bug in the resolving of function call return types. - Implemented parsing of string concatenation tokens (.), allowing a more accurate determination of the statement to provide information about. (read: "\'a string\' . $foo->" now actually yields completion results instead of failing).