Жизненный цикл запроса

Путь запроса к сайту от точки входа до контроллера

Система позволяет создавать публичную директорию (по умолчанию public, но можно выбрать и другое имя), в этом случае, точкой входа в систему становится файл index.php этой директории, если создание публичной директории не предполагается, то точкой входа становися корневой файл index.php . В этом файле объявляются необходимые константы определяющие пути к приложению, системе, директории моделей, миграций и т.д.  В конце подключается файл system/system.php

system. В этом файле проходит проверка объявления констант, если они не объявлены, объявляет значения по умолчанию. Далее подключаются файлы глобальных функций (system/function.php), автозагрузчик (system/autoloader.php), загрузочные процедуры (system/bootstrap.php) и, если есть, автозагрузчик композера (composer/vendor/autoload.php). В конце подключается файл роутера текущего приложения, например: app/route/web.php

 route. Роутер системы позволяет настроить поиск необходимого контроллера и метода в нём. Пример:

 


use electronic\core\route\route;
$route  = new route();
$route->namespace('app/controllers/index');
$route->get('/')->controller('indexController', 'index');

 

Роутер позволяет использовать префиксы (используются в цепочке перед вызовом контроллера) и фильтры (самостоятельные классы). Далее вызывается необходимый метод контроллера.

controller. Пример:


namespace app\controllers\index;
 
use app\controllers\controller;
use electronic\core\view\view;

class indexController extends controller
{

    public function index()
    {
        $this->title('Title');
        new view('index/index', $this->data);
    }
}
 
В данном примере, метод вызавет шаблонизатор и передаёт в него массив данных.
Grewi 2024