我对CodeIgniter框架和PHP相当新,我想弄清楚以下源代码的作用:
isset($this->page->data->Metadata->Metadata->View);
根据我的理解,isset()
检查变量View
是否已设置,但令我困惑的是我找不到page
类(.php的位置)包含View
变量的文件)在我的项目文件夹中的任何位置,也无法在CodeIgniter库中找到page
类。
有人可以分解这些代码,并详细解释一下吗?
答案 0 :(得分:3)
你应该真正开始学习基本的OOP(面向对象的编程)。
PHP中的->
运算符是一种访问类的成员变量和成员函数/方法的方法。
$this
引用它所访问的对象。在你的情况下,我想,你的控制器或模型。 $this
现在引用你的控制器。
现在您可能想知道,page
在哪里,因为您无法在控制器中看到它。您的控制器正在扩展codeigniter框架的Base控制器,并且会定义成员变量page
。
变量page
本身是一个对象,它声明了成员变量data
,data
也拥有一个对象,它有成员变量Metadata
,这个... < / p>
我希望你明白这个想法。
完整语句检查是否在存储在变量View
中的对象上设置了Metadata
成员变量。
如果你不了解这一点。您应该阅读PHP和OOP的基础知识以及PHP的上下文!这是值得的。相信我!