Руководство

Начало работы

От конфигурации и первого маршрута до рабочей страницы.

Начните с конфигурации, провайдеров и маршрутов

  • app/Config/Config.yaml определяет, какие модули загружаются.
  • app/Config/Providers.yaml содержит список провайдеров.
  • app/Config/Routing.php определяет HTTP-маршруты приложения.
  • Изменяйте ./framework только при работе над самим фреймворком.

Первый контроллер

Начните с Lemonade\Framework\Core\AbstractController. Это публичная базовая часть фреймворка для обычных контроллеров. Простой контроллер может сразу возвращать html(), json() или redirect() без собственной базовой класса приложения.

example.php
<?php

declare(strict_types=1);

namespace App\Controllers;

use Lemonade\Framework\Core\AbstractController;
use Psr\Http\Message\ResponseInterface;

final class HomeController extends AbstractController
{
    public function index(): ResponseInterface
    {
        return $this->html('<h1>Hello</h1>');
    }
}

Первый маршрут

Сначала зарегистрируйте простой именованный маршрут. Локализацию или группы маршрутов добавляйте только тогда, когда они действительно нужны приложению.

example.php
<?php

use App\Controllers\HomeController;
use Lemonade\Framework\Routing\Router;

return static function (Router $router): void {
    $router->getNamed(
        'home.index',
        '/',
        HomeController::class . '@index',
    );
};