|
|
|
|
@@ -1,14 +1,8 @@
|
|
|
|
|
The MINIMAL framework that does **not limit your project with its own rules**, has **no dependencies**, implements the **best practices** of popular MVC-frameworks, it **VERY fast** and **optimized** for all the innovations in **PHP 8.2** 🤟
|
|
|
|
|
# MINIMAL
|
|
|
|
|
The best code-to-utility framework
|
|
|
|
|
|
|
|
|
|
Can be configured to work with **any database** `core::$session` and **any HTML template engine** `$this->view`
|
|
|
|
|
*personally, i prefer **ArangoDB** and **Twig***
|
|
|
|
|
|
|
|
|
|
## Nearest plans (first half of 2025)
|
|
|
|
|
1. Add **middlewares** technology
|
|
|
|
|
2. Route sorting in the router `router::sort()`
|
|
|
|
|
3. Add trigger routes from within routes
|
|
|
|
|
4. Think about adding asynchronous executions
|
|
|
|
|
5. Write an article describing the principles of the framework
|
|
|
|
|
## Nearest plans (2025)
|
|
|
|
|
1. Routes sorting `router::sort()`
|
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
Execute: `composer require mirzaev/minimal`
|
|
|
|
|
@@ -16,49 +10,19 @@ Execute: `composer require mirzaev/minimal`
|
|
|
|
|
## Usage
|
|
|
|
|
*index.php*
|
|
|
|
|
```php
|
|
|
|
|
// Initializing the router
|
|
|
|
|
$router = new router;
|
|
|
|
|
|
|
|
|
|
// Initializing of routes
|
|
|
|
|
$router
|
|
|
|
|
->write('/', 'catalog', 'index', 'GET')
|
|
|
|
|
->write('/search', 'catalog', 'search', 'POST')
|
|
|
|
|
->write('/session/connect/telegram', 'session', 'telegram', 'POST')
|
|
|
|
|
->write('/product/$id', 'catalog', 'product', 'POST')
|
|
|
|
|
->write('/$categories...', 'catalog', 'index', 'POST'); // Collector (since 0.3.0)
|
|
|
|
|
|
|
|
|
|
// Initializing the core
|
|
|
|
|
$core = new core(namespace: __NAMESPACE__, router: $router, controller: new controller(false), model: new model(false));
|
|
|
|
|
$core = new core(namespace: __NAMESPACE__);
|
|
|
|
|
|
|
|
|
|
// Handle the request
|
|
|
|
|
echo $core->start();
|
|
|
|
|
// Initializing routes
|
|
|
|
|
$core->router
|
|
|
|
|
->write('/', new route('index', 'index'), 'GET')
|
|
|
|
|
->write('/search', new route('search', 'search'), 'POST')
|
|
|
|
|
->write('/product/create', new route('product', 'create'), 'PUT')
|
|
|
|
|
->write('/product/$id', new route('product', 'read'), 'GET')
|
|
|
|
|
->write('/product/$id', new route('product', 'read'), 'POST')
|
|
|
|
|
->write('/$categories', new route('categories', 'read'), 'GET') // Collector (since 0.3.0)
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
// Handling the request
|
|
|
|
|
$core->start();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Examples of projects based on MINIMAL
|
|
|
|