Создание повторно используемого компонента контроллера в Lithium - PullRequest
1 голос
/ 06 марта 2012

Я в настоящее время разрабатываю приложение для Lithium и натолкнулся на написанную мной функцию, которую я хотел бы использовать на нескольких контроллерах.

Я явно не хочу иметь функцию в каждом контроллере. Каков стандартный способ создания повторно используемого компонента в Lithium?

Отсутствие средств поиска по их документации затрудняет поиск каких-либо подробностей.

Ответы [ 3 ]

2 голосов
/ 11 марта 2012

Все, что вам нужно сделать, это создать extensions/action/Controller.php и заставить ваши контроллеры расширять его.

В вашем extensions/action/Controller.php

<?php
namespace app\extensions\action;

class Controller extends \lithium\action\Controller {

    protected function _init() {
        parent::_init();

        //add your functionality here
    }
}

?>

И тогда ваш контроллер должен расширить вышеупомянутый базовый контроллер: class MyController extends \app\extensions\action\Controller {

2 голосов
/ 06 марта 2012

Вы можете попробовать расширить контроллер. Расширение контроллеров не так уж плохо в соответствии с разработчиками ядра. Если это не так и вариант, вы можете извлечь свой код в плагин, хотя все еще некоторый код в контроллере.

0 голосов
/ 06 марта 2012

Я думаю, что это не литий-специфическая вещь.Вы можете либо наследовать от Controller и создать свой собственный базовый контроллер, но вы также можете создавать произвольные классы, которые содержат вашу функциональность.Не позволяйте фреймворку мешать вам =)

По поводу документации: я обычно гуглю в смысле "<keywords> site:lithify.me"

...