| title | Frictionless PHP Development |
|---|---|
| nav_order | 1 |
| permalink | / |
Get started now{: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } View it on GitHub{: .btn .fs-5 .mb-4 .mb-md-0 }
Seamlessly run and switch between different versions of PHP, with different installed extensions, thanks to the power of containers.
Take the advantage of goodies commands like phpctl create to start a new project, phpctl repl to start a REPL, phpctl init to initialize a new configuration file and a lot more.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/opencodeco/phpctl/refs/heads/main/docs/install.sh)"That is it! Now you have phpctl available in your system.
You can also pass an argument to install at a custom location (e.g. ~/bin), but you have to make sure that folder is in your $PATH variable.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/opencodeco/phpctl/refs/heads/main/docs/install.sh)" ~/binbrew install opencodeco/phpctl/phpctlOr add the oppencodeco tap with brew tap opencodeco/phpctl and then brew install phpctl.
You can re-run the installer or use the self-update command:
phpctl self-updateFor those using Homebrew brew upgrade opencodeco/phpctl/phpctl or when run brew update.
Simple as calling any other command in your terminal:
phpctl <command> [options]You will also have aliases for the most common commands available without the phpctl prefix, like:
phpcomposerphpunitphp-cs-fixer- etc
So you can use them as you would normally do:
php -v # same as `phpctl php -v`Or
composer --version # same as `phpctl composer --version`Have fun! Feel free to open any issues or PRs.