Leaf is a slim and lightweight PHP framework focused on developer experience, usability, and high-performance code. It introduces a cleaner and much simpler structure to the PHP language while maintaining it's flexibility. With a simple structure and a shallow learning curve, it's an excellent way to rapidly build powerful and high performant web apps and APIs.
After installing Leaf, create an index.php file.
<?php
require __DIR__ . '/vendor/autoload.php';
app()->get('/', function () {
response()->json([
'message' => 'Hello World!'
]);
});
app()->run();
You may quickly test this using the Leaf CLI:
leaf serve
Or with the built-in PHP server:
php -S localhost:5500
When it comes to building web applications, there are numerous tools and frameworks at your disposal. Nevertheless, we are convinced that Leaf is the optimal selection for developing powerful, web applications and APIs.
While PHP frameworks speed up web development, they come with challenges like a steep learning curve, potential performance overhead, and stricter code maintenance. They can be rigid, limiting flexibility, and often tie you to a specific ecosystem, making it hard to use unsupported packages. Additionally, frameworks may introduce unused code, leading to bloat and reduced performance.
Leaf addresses these challenges with an easy learning curve, making it accessible to both beginners and experienced devs. It is lightweight, and boosts developer productivity by simplifying usage with global functions.
Beyond this, Leaf is modular, allowing developers to install only necessary features while maintaining compatibility with other libraries and frameworks. Additionally, Leaf is scalable, working seamlessly from development to production with minimal configuration.
You can create a new Leaf app using the Leaf CLI
leaf create <project-name> --basic
<project-name>
is the name of your project
You can also use Composer to install Leaf 3 in your project quickly.
composer require leafs/leaf
Project | Status | Description |
---|---|---|
leaf | Create websites and APIs quickly | |
leafmvc | An MVC wrapper for leaf | |
cli | CLI for creating & interacting with your leaf apps |
You can find a full list of all modules on the modules documentation
- Leaf has a very easy to understand documentation which contains information on all operations in Leaf.
- You can also check out our youtube channel which has video tutorials on different topics
- You can also learn from codelabs and contribute as well.
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.
We are committed to keeping Leaf open-source and free, but maintaining and developing new features now requires significant time and resources. As the project has grown, so have the costs, which have been mostly covered by the team. To sustain and grow Leaf, we need your help to support full-time maintainers.
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 β€οΈ