Skip to content

Latest commit

 

History

History
93 lines (73 loc) · 3.02 KB

File metadata and controls

93 lines (73 loc) · 3.02 KB

Контроллер

Наименование

Имя файла и класса:

  • ModuleName[DivisionName]TypeController.php
// url : /blogs | /blogs/<method>
// file: application/modules/blogs/primary/BlogsViewsController.php
class BlogsViewsController extends ViewsController
{
}
// url : /admin/blogs | /admin/blogs/<method>
// file: application/modules/blogs/admin/BlogsAdminViewsController.php
class BlogsViewsController extends ViewsController
{
}

Настройка

Если в url запроса не указан модуль, то Colibri вызовет модуль main.
Также если не указан action, то будет вызван defaultView для контроллера представлений и defaultResponse для контроллера удалённых вызовов.

Если вы хотите это помянять, то в файле настроек application.php поправьте группу настроек module.

Контроллер Представления

Методы

Каждый метод контроллера представляет собой обработчик action-а.
Чтобы "проконтроллировать" запрос на http://example.ru/blogs/list создайте метод list в классе BlogsViewsController

// file: application/modules/blogs/admin/BlogsAdminViewsController.php
class BlogsViewsController extends ViewsController
{
    public function list()
    {
        // ...
    }
}

Параметры метода

Все сегменты url-а, следующие за названием метода (action-а) до вопроса, Colibri использует как параметры метода-action-а. Чтобы получить эти значения просто объявите параметры в вашем методе.

Например, для /blogs/show/44:

    public function show($id)
    {
    }

Параметры запроса

Все GET параметры, cледующие после вопроса в url, продолжают оставаться GET и параметрами и вы можете получить их привычным для вас способом.

Для запроса /blogs/edit/44?title=Отредактированный+заголовок:

    public function edit($id)
    {
        $title = $_GET['title'];

        // $id передался параметром
	//Blog::getById((int)$id)->save([
	//    'title' => $title
	//]);
    }