1

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

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

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

4

3 回答 3

2

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

于 2012-03-06T12:15:03.363 回答
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 {

于 2012-03-11T15:13:28.733 回答
0

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

关于文档:我通常在谷歌的意义上"<keywords> site:lithify.me"

于 2012-03-06T16:18:08.650 回答