yanis
Новичок
Мною был разработан модуль для Kohana, реализующий идеи Фаулера про Presentation Model. Суть такова: между моделью, поставляющей данные и шиблоном-отображение, по сути, я вляющимся разметкой, встраивается дополнительная модель, которая преобразует данные в подходящий для представления формат.
Реализация правил преобразования в простом виде похожа на синтаксис ORM::filters():
и потом в шаблоне можно писать
что выведет отформатированные через HTML::chars и nl2br данные.
Класс работает как декоратор, предоставляя верстальщику ООП-объект с данными, и не затрагивая никак поведение модели.
Был испробован на реальном проекте, причесан, и выложен на gihub. Буду признателен за обратную связь.
Модуль можно скачать с гитхаба, также имеется небольшая документация, пока на русском:
https://github.com/prasol/kohana-presentation
PS: на forum.kohanaframework.org зарегистрироваться я не смог )
Реализация правил преобразования в простом виде похожа на синтаксис ORM::filters():
PHP:
class Presentation_Model_Order extends \Yup\Presentation_Model {
public function rules()
{
return [
'created' => ['Date::formatted_time'],
'state' => [['self::values', [
'new' => __('New'),
'processing' => __('In process'),
'completed' => __('Done'),
'cancelled' => __('Cancelled'),
]]],
'note' => ['HTML::chars', 'nl2br'],
];
}
}
PHP:
<?= $order->note ?>
Класс работает как декоратор, предоставляя верстальщику ООП-объект с данными, и не затрагивая никак поведение модели.
Был испробован на реальном проекте, причесан, и выложен на gihub. Буду признателен за обратную связь.
Модуль можно скачать с гитхаба, также имеется небольшая документация, пока на русском:
https://github.com/prasol/kohana-presentation
PS: на forum.kohanaframework.org зарегистрироваться я не смог )