Контроллер файлов и функций

Вы можете установить свой кастомный контроллер

Но важно чтобы он соответствовал интерфейсу \Evas\Router\Interfaces\ControllerInterface чтобы избежать проблем в автороутинге

\Evas\Router\Interfaces\ControllerInterface
namespace Evas\Router\Interfaces;

interface ControllerInterface
{
    /**
     * Открытие файла.
     * @param string имя файла относительное директории отображений
     * @param array|null аргументы файла
     */
    public function view(string $filename, array $args = null);

    /**
     * Выбрасывание исключения в случае невозможности открытия файла отображения.
     * @param string имя файла относительное директории отображений
     */
    public function throwIfNotCanView(string $filename);
}

controllerClass

Устанавливает контроллер файлов и функций для роутера и вложенных роутеров

АргументТипОписание
1stringИмя класса
$router->controllerClass(\Evas\Router\Controller::class);

Вы можете задавать разные контроллеры файлов и функций для разных групп маршрутов

Контроллер файлов и функций наследуется во вложенные роутеры

если он описан выше вложенных роутеров

EVAS_CONTROLLER_CLASS

Устанавливает контроллер по умолчанию

По умолчанию установлен класс: \Evas\Router\Controller

if (!defined('EVAS_CONTROLLER_CLASS')) define('EVAS_CONTROLLER_CLASS', Controller::class);

Устанавливается в качестве первоначального значения $controllerClass роутера

Установка контроллера через controllerClass() перезатрёт это значение