PHPackages                             plutosw/plutophp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. plutosw/plutophp

ActiveProject[Utility &amp; Helpers](/categories/utility)

plutosw/plutophp
================

v1.2.4(2mo ago)11MITPHP

Since Mar 10Pushed 2mo agoCompare

[ Source](https://github.com/PlutoSW/PlutoPHP)[ Packagist](https://packagist.org/packages/plutosw/plutophp)[ RSS](/packages/plutosw-plutophp/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (1)DependenciesVersions (4)Used By (0)

PlutoPHP Framework
==================

[](#plutophp-framework)

[![PlutoPHP](https://camo.githubusercontent.com/fa327348900361773f8d9fe1211079d7a94e96e00f77f79457216a4e2cda3b33/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506c75746f5048502d76312e312e302d626c75652e737667)](https://camo.githubusercontent.com/fa327348900361773f8d9fe1211079d7a94e96e00f77f79457216a4e2cda3b33/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506c75746f5048502d76312e312e302d626c75652e737667)[![PHP Version](https://camo.githubusercontent.com/5cf2a57d60cd9f20dc2d213412aeb8dfe8f952667882583b6546593c853773eb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344382e302d3838393242462e737667)](https://camo.githubusercontent.com/5cf2a57d60cd9f20dc2d213412aeb8dfe8f952667882583b6546593c853773eb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344382e302d3838393242462e737667)[![License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)

A lightweight, modern PHP framework designed for rapid development. PlutoPHP leverages PHP 8's latest features like Attributes for clean, co-located routing, and comes with a reactive frontend component system, making it ideal for building admin panels, dashboards, and content-driven websites with speed and consistency.

---

### Key Features

[](#key-features)

- **Attribute-Based Routing:** Define your routes directly on your controller methods. No more separate route files!
- **MVC Architecture:** A clean and organized structure based on the Model-View-Controller pattern.
- **Reactive Web Components with Pluto.js:** A minimal-footprint JavaScript library for building interactive UIs with custom HTML tags.
- **Powerful CLI Tool:** A built-in `pluto` command-line tool to generate controllers, models, views, and even full modules.
- **Database Migrations:** Version control for your database schema.
- **Blade-like Template Engine:** Use familiar syntax like `@extends`, `@section`, and `@yield` in your `.phtml` view files.
- **Simple ORM &amp; Query Builder:** An intuitive database layer for fluent query building.

### Requirements

[](#requirements)

- PHP 8.0 or higher (for Attribute support)
- Composer
- MySQL Database
- A web server (Apache, Nginx, etc.)

### Installation

[](#installation)

1. **Clone the repository:**

    ```
    git clone https://github.com/PlutoSW/PlutoPHP.git
    cd PlutoPHP
    ```
2. **Configure your environment:**

    - Copy the example environment file: `cp .env.example .env`
    - Open the `.env` file and update the `DB_` variables with your database credentials.
3. **Set up your web server:**

    - Point your web server's document root to the project's root directory where `index.php` is located.
    - Ensure URL rewriting is enabled to direct all requests to `index.php`. The included `.htaccess` file does this for Apache.

---

Getting Started: The PlutoPHP Way
---------------------------------

[](#getting-started-the-plutophp-way)

### 1. Routing with Attributes

[](#1-routing-with-attributes)

In PlutoPHP, routes live where they belong: right above the controller method that handles them.

Create a controller using the CLI:

```
php pluto make:controller UserController
```

Now, open `app/Controllers/UserController.php` and define your routes.

```
