我想创建一个对象数组,所以我做的是创建一个库,但我无法弄清楚如何在循环中实际动态创建它的实例并将每个实例存储在一个数组中.
有人能告诉我吗? 最佳答案 按照设计,加载CodeIgniter库只能进行一次.后续尝试加载相同的库将被忽略.您可以(以某种方式)通过告知CI每次加载库的另一个副本时使用不同的名称来实例化类(请参阅
this question的答案).
更好的解决方案可能是自己创建类,而不是使用CI的库加载机制.这样您就可以根据需要创建和存储任意数量的副本.
编辑:我建议将类留在库目录中,只需使用PHP的include()使其可用于您的模型/控制器.
至于从类中访问CodeIgniter,可以使用以下代码完成:
$CI =& get_instance();
$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url');
get_instance()函数返回CodeIgniter超级对象,一旦将其分配给$CI变量,就可以像访问模型或控制器一样访问任何CI方法,除非使用$CI而不是$this.有关更多信息,请参见this link.