- PHPactor
- phpactor PHP Language Server
- 19 Installs
-
This extension is allowed to:
- Read & Write Files
- Launch Subprocesses
- Send Network Requests
Readme
⚠️ Do NOT use/replace Intelephense just yet! but feel free to play around with it 😜
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.
Requirements
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 👇
Project Recommendation
- 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:
shell
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! 😝
Usage
🔜 Coming Soon
Configuration
- 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
**/workspace/.phpactor.yml
~/.config/phpactor/phpactor.yml
/etc/xdg/phpactor/phpactor.yml
To Do
- [ ] 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
- [x] Better error handling
- [x] Providing useful extension notification like downloading, completing or any corresponding error
Credits:
- 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!
Changelog
Version 1.1.1
- Fix the issue with cache-clean command #6
Version 1.1.0
- Command API
phpactor cache:clear
support
Version 1.0.1-beta
- Refactored Source Code
- Fixed
issue #2
Version 1.0.1-beta
- Refactored Source Code
- Fixed
issue #2
Version 1.0.0-beta
Initial release