我在codeigniter中找到一种方法来将一个控制器的方法调用到其他控制器
我找到如下文章:
1. Controller A
class A extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function custom_a()
{
}
}
2. Controller B
class B extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function custom_b()
{
require_once(APPPATH.'controllers/a.php'); //include controller
$aObj = new a(); //create object
$aObj->custom_a(); //call function
}
}
上面的代码是由prash.patil在另一个堆栈溢出文章中编写的。但Deep Kakka添加评论:"包含这样的文件,这是好方法吗?"
使用' require_once'有什么问题?在上述情况下?我认为这是重用代码的好方法。
答案 0 :(得分:0)
我不确定将require_once
与控制器一起使用。满足您的需求
我建议你两种方式
解释
从bitbucket.org下载HMVC框架。您可以使用modules::run()
函数
最常用的方法。将控制器分配给库。并使用库调用方法。
# Assigning Controller
$this->load->library('../controllers/a');
# Calling Methdod
$this->a->methodname();
答案 1 :(得分:0)
如果你想在多个控制器中使用的类中有一组方法,那么好的方法是在APPPATH.'libraries/Custom_lib.php'
中创建一个自定义库(在任何你认为合适的地方命名),你可以在任何控制器中使用它需要特定代码的地方。有关documentation中自定义库的更多信息。