【发布时间】:2012-03-28 00:04:41
【问题描述】:
我想从另一个控制器(比如 controller_b)调用一个控制器(比如 controller_a)中的一个函数
请帮帮我..
【问题讨论】:
-
你为什么要这样做?
标签: php model-view-controller codeigniter hmvc
我想从另一个控制器(比如 controller_b)调用一个控制器(比如 controller_a)中的一个函数
请帮帮我..
【问题讨论】:
标签: php model-view-controller codeigniter hmvc
共享控制器功能通常应该在扩展控制器类中:
<?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。
【讨论】:
您会通过从另一个控制器调用一个控制器来破坏 MVC。考虑为您尝试调用的函数使用帮助程序或库。
当控制器调用其他控制器时,您是在 HMVC 框架中操作的。见Modular Extensions
如果您正在寻找有关控制器继承的信息,我建议您阅读 Phil Sturgeon 在Keeping It Dry 上的帖子
【讨论】: