如何在 codeigniter 中使用工厂类调用。我一直在尝试将以下内容实现为库
class MyClass {
public $_class = "Factory";
/*
===================================
On Create
=================================== */
public function __construct() {
$this->_db =& get_instance();
}
//other methods
}
class Factory {
private $_db;
/*
===================================
On Create
=================================== */
public function __construct($data, $db) {
$this->_db = $db;
}
//factory methods
}
$obj = new MyClass();
$res = $obj->call_method_MyClass();
比方说我对检索到的数据进行循环
foreach($res as $Factory){
$Factory->method_factory();
}
但我没有获得工厂的实例
我只是遵循正常的库模式,基本上是用户指南中描述的 - 它的工作方式与您希望的方式相同:
class Factory {
function __construct() {
$this->CI =& get_instance();
}
function get_factory_item() {
return $factory_item;
}
}
然后在你的控制器中你可以调用它(如果它已加载):
$this->factory->get_factory_item();
如果您需要从库中调用模型或任何 Codeigniter 内容,您将:
$this->CI->My_model->get_something($parameter);
然后您可以将其返回给控制器。我更喜欢使用图书馆(或者你可以说工厂)来完成我所有的繁重工作。
对于 exmaple,我的模型将简单地返回数据对象,然后我的库将检查 num_rows() 等,最后将 result() 对象或布尔值 FALSE 返回到我的控制器。
然后我的控制器可以执行简单的检查,例如 if ($my_object),所以它很干净。
希望这有帮助。