Codeigniter:获取实例

时间:2010-05-12 13:56:08

标签: codeigniter

Codeigniter中“获取实例”的目的是什么? 你会如何向初学者解释这一点?

2 个答案:

答案 0 :(得分:58)

好的,所以CodeIgniter中的所有内容都会运行超级魔法$this变量。这仅适用于类,因为$this基本上定义了当前类。

您的控制器是一个类,所以$ this就在那里,允许您执行$this->load->model('whatever');

在模特中,你也在使用一个类。这里略有不同,因为$this只包含有用的内容,因为您从模型中扩展。尽管如此,$this仍然有效。

当您使用帮助器或库时,您需要找到“实例”或等效的$this

$ci =& get_instance();

...使$ci包含与$this完全相同的内容/代码/实用性,即使您不在类中,也不在包含它的类中。

这是对2品脱后的初学者的解释,所以它是错误的或者是正确的。 ; - )

答案 1 :(得分:11)

这是singleton pattern的实现。从本质上讲,只有一个有问题的类实例,它可以在全球范围内访问。 get_instance方法是静态的,因此提供了一种从代码中的任何位置访问实例的方法。