源代码“新CI”的含义是什么?在pyrocms?

时间:2014-12-25 09:39:19

标签: php pyrocms

我想研究一下pyrocms的源代码,当我读到Base.php时,我无法理解以下代码

new CI;

文件为system/cms/libraries/Base.php

我的问题是

  1. 为什么没有变量名称,例如$CI = new CI;
  2. 为什么它可以在其子类CI::$APP->config->item('controller_suffix')中用作MX_Controller,因为它没有变量名?
  3. 非常感谢!!!

2 个答案:

答案 0 :(得分:0)

  1. 此对象未存储在变量中,因为我们似乎不需要对其进行操作。另一方面,看看它的构造函数:它做了很多事情(因为它也调用CI_Controller的构造函数,它反过来加载Loader并初始化它,....)< / LI>

    因此,我们不构建它以便之后操作它,而是为了在其构造函数中运行代码。

    1. 我们可以使用CI::$APP-> whatever,因为$APP是静态成员,因此不需要操作CI的实例

答案 1 :(得分:0)

将类属性或方法声明为静态使它们可以访问,而无需实例化类。声明为static的属性无法使用实例化的类对象访问(尽管静态方法可以)。

see statics on php.net