A simple command line tool for creating and interacting with your leaf projects. You can do stuff like installing packages, interacting with your app, previewing your app, ...
You can get this tool up and running on your system using composer:
composer global require leafs/cli
Make sure to place Composer's system-wide vendor bin directory in your $PATH
so the leaf executable can be located by your system. This directory exists in different locations based on your operating system; however, some common locations include:
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
- macOS:
$HOME/.composer/vendor/bin
- GNU / Linux Distributions:
$HOME/.config/composer/vendor/bin
or$HOME/.composer/vendor/bin
You could also find the composer's global installation path by running composer global about
and looking up from the first line.
Eg (Adding composer bin to path linux):
export PATH=$PATH:$HOME/.config/composer/vendor/bin
Eg (Adding composer bin to path mac):
export PATH=$PATH:$HOME/.composer/vendor/bin
echo $PATH
To start a new project, simply open up your console or terminal in your directory for projects and enter:
With leaf 3:
leaf create <project-name>
This will now prompt you to select a preset
Creating a new Leaf app "<project-name>" in ./projects-directory.
* Please pick a preset
[0] leaf
[1] leaf mvc
[2] leaf api
>
Selecting a number will generate a leaf app based on the associated preset. As you can see, there are 3 presets:
- Leaf: a bare leaf 3 project
- Leaf MVC: a leaf MVC project with leaf 3
- Leaf API: a leaf API project with leaf 3
You can also pick a preset directly without going through the interactive installer.
Leaf:
leaf create <project-name> --basic
Leaf API:
leaf create <project-name> --api
Leaf MVC:
leaf create <project-name> --mvc
You can also add --custom
for a fully customisable leaf project.
leaf create <project-name> --custom
This cli tool also adds a feature to install modules from composer
leaf install ui
This installs the leafs/ui
package.
You can also install third party packages from packagist
leaf install psr/log
You can also use the interactive shell to interact with your app.
$ leaf interact
...
>>> $user = new User;
...
>>> $user->name = "Mychi";
...
>>> $user->save();
This opens up your app on the PHP local server.
leaf serve
You can also specify the port
leaf serve -p 8000
In v2.1, you can also start the leaf server with hot module watching. This reloads your application anytime a change is made to your application code. To get started, simply start the leaf server with the --watch
flag.
leaf serve --port 8000 --watch
Leaf CLI is open-sourced software licensed under the MIT license.
We are glad to have you. All contributions are welcome! To get started, familiarize yourself with our contribution guide and you'll be ready to make your first pull request 🚀.
To report a security vulnerability, you can reach out to @mychidarko or @leafphp on twitter. We will coordinate the fix and eventually commit the solution in this project.
Michael Darko |
tedtop |
Your cash contributions go a long way to help us make Leaf even better for you. You can sponsor Leaf and any of our packages on open collective or check the contribution page for a list of ways to contribute.
And to all our existing cash/code contributors, we love you all ❤️
You can view all sponsors @ https://leafphp.dev/#sponsors