在Lithium中创建可重用的控制器组件

时间:2012-03-06 11:48:11

标签: php code-reuse lithium

我目前正在开发一个Lithium应用程序,并且遇到了我想要在多个控制器中使用的函数。

我显然不想在每个控制器中都有这个功能。在Lithium中创建可重用组件的标准方法是什么?

他们的文档缺乏搜索工具使得很难找到任何细节。

3 个答案:

答案 0 :(得分:2)

您可以尝试扩展控制器。根据核心开发人员的说法,扩展控制器并不是那么糟糕。如果那不是和选项你可以将你的代码提取到一个插件,但仍然在控制器中的一些代码。

答案 1 :(得分:2)

您所要做的就是创建一个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 :(得分:0)

我认为这不是特定于锂的事情。您可以从Controller继承并创建自己的基本控制器,但您也可以创建保留您的功能的任意类。不要让框架抑制你=)

关于文档:我通常是"<keywords> site:lithify.me"

意义上的谷歌