Когда создана базовая структура расширения, следующим шагом, как правило, является регистрация своих контроллеров и добавление пунктов меню в панель управления. Для этого необходимо добавить некоторые дополнительные свойства в определение модуля в вашем index.php.
Добавление контроллера
Контроллер в Pagekit - это простой PHP класс. Любой публичный метод, названный должным образом (например, someAction()) будет смонтирован роутером Pagekit (например, /todo/some).
Создайте файл packages/pagekit/todo/src/Controller/TodoController.php со следюущим кодом:
<?php
namespace Pagekit\Todo\Controller;
/**
* @Access(admin=true)
*/
class TodoController
{
    public function indexAction()
    {
      return "Yay.";    
    }
}
Для ограничения доступа к панели управления и для монтирования контроллера к URL панели управления, мы используем аннотацию @Access(admin=true). Аннотации - это ключевые слова, которые размещаются в блоках комментариев над классом или методом. Подробнее об аннотациях.
Для использования этого контроллера мы должны автозагрузить наше пространство имён и монтировать контроллер к маршруту (route). Добавьте следующие свойства в конфигурационный массив вашего index.php:
// ...
// массив пространств имён для автозагрузки из данных папок
'autoload' => [
        'Pagekit\\Example\\' => 'src'
    ],
// массив маршрутов
    'routes' => [
    // идентификатор для ссылки на маршрут из вашего кода
        '@todo' => [
            // к какому пути должно быть смонтировано это расширение
            'path' => '/todo',
            // какой контроллер монтировать
            'controller' => 'Pagekit\\Todo\\Controller\\TodoController'
        ]
    ],  
    // ...
Если вы не можете получить доступ к вашему маршруту, очистите кэш. Pagekit кэширует маршруты для обеспечения производительности.
Панель отладки
Чтобы увидеть все зарегистрированные маршруты во время разработки, полезно включить панель отладки в системных настройках Pagekit. Панель отладки появляется внизу экрана и показывает все зарегистрированные маршруты, а также другую полезную информацию.
Не забудьте выключить её на живом сайте.
Добавление пункта меню
Для добавления пункта меню используйте свойство menu в определении модуля. Добавьте следующее в index.php:
// ...
'menu' => [
    'example' => [
        'label'  => 'ToDo',
        'icon'  => 'app/system/assets/images/placeholder-icon.svg',
        'url'    => '@todo',
    ]
],
// ...
Обновите бэкенд Pagekit и вы увидиите новый пункт меню, которые ссылается на маршрут @todo.
Это основной воркфлоу контроллеров и маршрутизации. Для рендеринга файлов представления вместо чистых строк, вы должны изменить то, что возвращают action контроллера. Это мы рассмотрим в следующем видеоуроке.
						