2

如何在 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();
}

但我没有得到工厂的实例

4

1 回答 1

0

我只是遵循正常的库模式,基本上是用户指南中描述的 - 它的工作方式与您希望的相同:

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);

然后您可以将其返回给控制器。我更喜欢使用图书馆(或你可以说的工厂)来完成我所有的繁重工作。

例如,我的模型将简单地返回数据对象,然后我的库将检查 num_rows() 等,最后将 result() 对象或布尔值 FALSE 返回到我的控制器。

然后我的控制器可以进行简单的检查,比如 if ($my_object) 所以它很好很干净。

希望这可以帮助。

于 2014-09-17T16:27:41.473 回答