php - Codeigniter 中的多个类

标签 php oop codeigniter class

我想创建一个对象数组,所以我所做的是创建一个库,但我不知道如何在循环中实际动态创建它的实例并将每个实例存储在一个数组中。 谁能告诉我吗?

最佳答案

根据设计,加载 CodeIgniter 库只能执行一次。随后加载相同库的尝试将被忽略。您可以(在某种程度上)通过告诉 CI 在每次加载库的另一个副本时用不同的名称实例化类来解决这个问题(参见 this question 的答案)

更好的解决方案可能是自己创建类,而不是使用 CI 的库加载机制。这样您就可以根据需要创建和存储任意数量的副本。

编辑:我建议将类留在库目录中,并仅使用 PHP 的 include() 使其在需要时可供您的模型/ Controller 使用。

至于从您的类中访问 CodeIgniter,您可以使用以下代码来实现:

$CI =& get_instance();

$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url');

get_instance() 函数返回 CodeIgniter super 对象,一旦它被分配给 $CI 变量,您就可以访问任何 CI 的方法,就像在模型或 Controller 中一样,除了使用 $CI 而不是 $this .参见 this link获取更多信息。

关于php - Codeigniter 中的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2618557/

相关文章:

php - Doctrine 哪里有问题

php - 如果路由不存在则重定向

python - 如何通过Python获取和设置具有相同品种名称的 "class"和 "def"之间的属性值

c++ - 运算符重载(友元函数和成员函数)

mysql - 如何为数据数组sql创建短代码

php - 如何使用高级 ORDER BY 情况执行查询?

php - 替换查询的正则表达式

python - Python 中的 @staticmethod 和 @classmethod

php - 无法填充第二个下拉列表

mysql - 如何在codeigniter的 Controller 中传递下拉列表值id