在其他codeigniter中访问一个类的对象

时间:2013-07-12 09:52:22

标签: codeigniter class object

我的codeigniter应用程序中有两个控制器类,比如A类和B.我只想创建一个A类对象,并从类B中访问类A中声明的函数。如下所示: -

class A extends someclass
{
public function function1(){

$this->load->view('welcome_message');  
}       
}
}

class B extends someclass2
{
protected $object;
public function __construct()
{
parent::__construct();

$this->objectA = new A();
}       
}
}

我想使用对象objectA从类B访问函数function1。我怎样才能做到这一点? 请帮忙。 感谢

2 个答案:

答案 0 :(得分:1)

实际上,这不是codeigniter中的正确方法。实际上当你有共同的功能,并希望在2个或更多控制器中使用它们。最好的方法是在名为MY_Contoller的核心文件夹中创建基本控制器,并从CI_Contoller扩展它。在MY_Contoller中编写常用函数。现在,您必须从MY_Contoller而不是CI_Contoller扩展所有控制器。你可以用Model做同样的事情。

答案 1 :(得分:0)

跨控制器访问违反CI最佳实践。

从拥有此常用功能的控制器继承两个控制器(不要忘记使用'_'为函数添加前缀,以便通过url路由无法访问)或创建包含可重用功能的库。帮助者也可以工作。