2010-04-10 80 views
3

在控制器中,您可以使用此方法加载视图,但我想知道这里幕后发生了什么。

我是新来的PHP和框架,但我已经了解了OOP的基础知识。

$this->view()被调用时,则使用当前类或父类中的方法。

但是$this->load->view()是什么意思?什么是中间load?它是一种功能还是属性?

它位于哪里?它怎么能包含view()?

感谢您的解释。

+0

如果你能解释你正在使用的框架会更好。 – 2010-04-10 03:40:50

+0

@josh codeigniter,去标签 – meagar 2010-04-10 03:42:45

+0

@meagar:我猜测,但'$ this-> load-> view()'是相当含糊不清的。 – 2010-04-10 03:44:47

回答

6

正在讨论的代码正在访问名为load的成员变量,该变量的方法名为view

CodeIgniter按其自己的惯例将其模型和库作为成员变量提供给CI“超级对象”,它是您的控制器的一个实例。您可以将所有模型和插件视为单例,其单个实例被指定为CI自动创建的控制器的单例实例的成员。

load这个特定的成员是CI_Loader的一个实例,负责加载其他模型,视图和库。它反过来将它们分配给控制器实例中自己的成员变量。

+0

我在哪里可以找到CI_Loader实例化到$ load的行?为了学习的目的我已经搜索了$ load(因为我想查找类中的属性来保存它,但是找不到匹配项) 。 – 2010-04-10 05:00:18

+0

在system/libararies/Controller.php中的Controller类的_ci_initialize()方法中 – 2010-04-11 09:42:58

0

有关更多信息,我会阅读CodeIgniter Wiki Page关于View Object

+2

看起来链接已损坏。 :-( – 2014-03-14 20:22:45

3

load是当前对象的属性。该属性本身包含一个具有view()方法的对象。