0

我对 CodeIgniter 框架和 PHP 相当陌生,我试图弄清楚以下源代码的作用:

isset($this->page->data->Metadata->Metadata->View);

据我了解,isset()检查变量View是否已设置,但让我感到困惑的是,我在项目文件夹中的任何地方都找不到page类(包含View变量的 .php 文件的位置),也无法page在CodeIgniter 库。

有人可以分解这段代码并详细解释吗?

4

1 回答 1

4

您应该真正开始学习基本的 OOP(面向对象编程)。

PHP 中的->运算符是访问类的成员变量和成员函数/方法的一种方式。 $this指访问它的对象。在你的情况下,我猜是你的控制器或模型。 $this现在指的是您的控制器。

现在您可能想知道 where is page,因为您在控制器中看不到它。您的控制器正在扩展 codeigniter 框架的 Base 控制器,并且在那里定义了成员变量page。变量page本身是一个对象,它data声明了成员变量并data保存了一个对象,并且 this 具有成员变量Metadata,而 this...

你明白了,我希望。

并且完整的语句检查是否在View存储在变量中的对象上设置了成员变量Metadata

如果你不明白这些。您应该阅读 PHP 和 OOP 的一般基础知识以及 PHP 上下文!这很值得。相信我!

于 2014-10-24T16:45:02.540 回答