This extension ports the excellent phpactor Language Server for use with Nova! with An Important Language.
I find phpactor far superior to Intelephense because of the limitless refactoring possibilities it offers for PHP 🐘 projects. Nova 🌌 is a perfect fit for this language server, making it easy to utilise all its features via the code action.
⚠️ Tutorials, examples, and detailed usage instructions will be added once the pesky bugs 🐞 are fixed.
phpactor requires some additional tools to be installed on your Mac:
The extension automatically downloads a copy of the latest phpactor executable (no manual download required).
- Composer
- Git
- PHP 8.1+
- you also need to require PHP 8.1+ as a platform package in your
composer.json
see below 👇
- you also need to require PHP 8.1+ as a platform package in your
-
As noted by phpactor
phpactor will perform better with Composer and, to a lesser extent, with git.
-
If you're working with a commonly used PHP frameworks like Laravel, Symfony ,no additional setup is needed 😊.
-
For raw PHP projects, you’ll need a properly configured Composer project. To get the bare minimum support for the PHP standard library do the following:
git init \ composer init \ composer require php ^8.1 \
- Having a proper PSR standard configured in your
composer.json
, greatly enhances the refactoring options available. - The more detailed your
composer.json
the more value you’ll get out of phpactor! 😝
- Having a proper PSR standard configured in your
🔜 Coming Soon
- the default configuration locations are used. Refer to the
the docs
- I will add a
dump
command in the future to export the current configuration in your project's root
- I will add a
**/workspace/.phpactor.yml
~/.config/phpactor/phpactor.yml
/etc/xdg/phpactor/phpactor.yml
- Adding the possibility not to download
phpactor
, if the exec already exist in youPATH
or give you an option to use your own. It only downloads once when the extension is loaded! - Add commands to support few of the missed out refactoring actions
- Configuration via Nova GUI
- Better error handling
- Providing useful extension notification like downloading, completing or any corresponding error
- phpactor Language Server by Daniel and Contributors Github
- I used the
build.ts
(modified for this project) from the Nova Deno Language Server project by Sam for bundling my source code - The
nova.d.ts
is assembeled by Tommaso - Nova Types. I made some adjustments and plan to submit a pull request for additional APIs!