/leaf

🍁 The easiest way to create clean, simple but powerful web apps and APIs quickly

Primary LanguagePHPMIT LicenseMIT




Leaf PHP

Latest Stable Version Total Downloads License



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.

Basic Usage

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

Why Leaf?

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.

Installation

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

✈️ The Leaf Ecosystem (Libs & Frameworks)

Project Status Description
leaf Latest Stable Version Total Downloads Create websites and APIs quickly
leafmvc Latest Stable Version Total Downloads An MVC wrapper for leaf
cli Latest Stable Version Total Downloads CLI for creating & interacting with your leaf apps

You can find a full list of all modules on the modules documentation

💬 Stay In Touch

📓 Learning Leaf PHP

  • 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.

😇 Contributing

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.

🤩 Sponsoring Leaf

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 ❤️