Skip to content
AntonShevchuk edited this page Mar 20, 2012 · 26 revisions

Описание

Буковка C из MVC

Настройки

Нет

Использование

Простой контроллер Для создания своего контроллера (понятие action нет в Bluz) необходимо создать файл с анонимной функцией в директории модуля:

<?php
// application/modules/%module%/%controller%.php
// return!!!
return
function () {
 
};

Теперь создадим view:

<!-- application/modules/%module%/views/%controller%.phtml -->
<h2>Hello!</h2>

Всё - URL должен ожить /%module%/%controller%/

Обработка входных параметров

Магия - мы можем получать параметры запросов как входящие параметры функции-контроллера:

<?php
return
function ($id, $text) {
    echo $id;
    echo $text;
};

Так же можем явно указать тип входных параметров используя PHPDoc:

<?php
return
/**
 * @param integer $id
 * @param string $text
 */
function ($id, $text) {
    // integer
    echo $id;
    // string
    echo $text;
};

Использование пакетов приложения

Вспоминаем о конструкции use в PHP 5.3 и используем ее для работы с пакетами приложения:

<?php
return
/**
 * @var closure $bootstrap
 * @var Bluz\Application $app
 * @var Bluz\Request $request
 * @var Bluz\View $view
 * @return View
 */
function() use ($bootstrap, $app, $request, $view) {
 
};

Используем только то, что нам надо, хотя практически все из перечисленного можно получить из объекта $app (гетеры прилагаются)

Отдельно стоит отметить $bootstrap - это анонимная функция которая должна быть в папке модуля, что внутри, и что она будет делать решать вам.

Использование кеширования для вывода

Для кеширования вывода достаточно в PHPDoc прописать @cache 5 - таким образом вывод будет кешироваться на 5 минут используя в качестве ключа текущие входные параметры.

<?php
/**
 * @param integer $id
 * @cache 5
 */
function($id) use () {
 
};

Clone this wiki locally