Serenata is a gratis, libre and open source language server that provides code assistance for PHP. Combine it with any editor supporting language servers to get access to more advanced features when writing PHP code.
Get relevant suggestions for class members, available functions and constants, local variables and more, enriched with additional information such as deprecation statuses and summaries.
Travel effortlessly to the relevant location of method definitions, classes, interfaces, and other structural elements in your code base.
See additional helpful markers, such as properties overriding parent properties or methods implementing interface methods.
Interacting with them will take you to the mentioned element.
View extended documentation at a glance. Think method parameter descriptions, return type descriptions and thrown exceptions.
Quickly perform repetitive and automatable tasks, such as generating getters and setters, generating constructors, overriding parent methods or adding stubs for required interface methods.
What arguments did that function need again? Pop open a tooltip with the expected arguments, with their documentation, to lift the confusion.
Glance at a bird's-eye view of the code in any file and jump between them quickly.
Get notified of problems with your code early on to spend less time switching between testing a running version and your code.
See also the support table to see what language server protocol features are supported.
What is it exactly?
Serenata is the standalone server, written in and for PHP that can be combined with editors supporting the language server protocol.
To clear up any confusion above: Serenata itself has no direct relationship to the Atom editor. The php-ide-serenata package for Atom is a so-called "client" in the form of an Atom package that integrates the server into the Atom editor. A similar client can be written for any editor.
Awesome! What do I need?
PHP on the host
- Install PHP 7.1 or higher
php.ini, enable the mbstring, xml, libxml, dom, openssl and pdo_sqlite (with SQLite >= 3.7.11) extensions
- Open up Atom, install php-ide-serenata and follow the steps
Feel free to drop by with questions if you're looking to integrate it into another editor!
Where can I get more information?
You can also take a look at our wiki.
Where is the code?
Can I support you?
Serenata already sports a few advanced features, such as PhpStorm meta file support and refactoring functionalties and provides a suitable solution for users looking for a free, gratis as well as libre, competitor to existing alternatives. I believe it can become the de facto free and competitive language server for PHP with the support of the community.
At the time of writing I'm the sole maintainer of this large project and work exclusively in my spare time to achieve this goal, so any donation is viewed as an appreciation of my work and a motivator to continue my efforts.
Ways you can sponsor:
If you decide to become a sponsor: thank you!