Codeigniter中是否有任何超级控制器或全局控制器

时间:2012-03-11 05:19:44

标签: php model-view-controller codeigniter hmvc

我想从另一个控制器(比如controller_b)调用控制器中的一个函数(比如controller_a)

请帮帮我..

2 个答案:

答案 0 :(得分:8)

共享控制器函数通常应该在扩展控制器类中:

<?php
/**
 *  File: /application/core/MY_Controller.php
 */
class MY_Controller extends CI_Controller {

    /**
     * Prefix with an underscore if you don't want it
     * publicly available through URI-routing
     */
    public function _some_shared_method()
    {
        // some common operation here
    }

}

然后,确保需要使用此功能的任何控制器扩展MY_Controller

答案 1 :(得分:0)

您将通过从另一个控制器调用控制器来破坏MVC。考虑使用帮助器或库来处理您要调用的函数。

当控制器调用其他控制器时,您正在HMVC框架中运行。见Modular Extensions

如果您正在寻找有关控制器继承的信息,我建议您在Keeping It Dry上阅读Phil Sturgeon的帖子