加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 查看CI源代码后的一些基本问题

发布时间:2020-05-25 09:12:01 所属栏目:PHP 来源:互联网
导读:我只是看着CodeIgniter源代码,我遇到了一些我似乎无法弄清楚的事情;我不确定它们是什么意思,因为它们大多像一两个符号,所以很难在谷歌和stackoverflow上搜索它们. 我遇到的一件事是: $this-config = get_config(); 我从未真正遇到过= (或者主要是PHP中的)之

我只是看着CodeIgniter源代码,我遇到了一些我似乎无法弄清楚的事情;我不确定它们是什么意思,因为它们大多像一两个符号,所以很难在谷歌和stackoverflow上搜索它们.

我遇到的一件事是:

$this->config =& get_config();

我从未真正遇到过=& (或者主要是PHP中的&)之前.这究竟是什么意思?他们是否将get_config实例分配给$this-> config?我假设$this-> config来自文件顶部的声明,其中var $config = array();

我去寻找get_config()函数,我找到了以下行:

function &get_config($replace = array())

在这里,我的问题几乎是一样的:&代表什么呢?我在整个CI核心文件中看到了这两件事(&和=&).

我想知道的是他们评论的“风格”.每个函数都以注释块开头,这是一个例子:

/**
 * Set HTTP Status Header
 *
 * @access  public
 * @param   int     the status code
 * @param   string
 * @return  void
 */

这是由一些插件或库生成的吗?手动执行此操作听起来很麻烦.我没有检查过像PHPDoc这样的东西,但这可能类似(或PHPDoc)吗?它似乎有用,如果它自动生成?嘻嘻.

在下一个问题上.我看到以下划线为前缀的不同功能.有明显的__construct,但也有像_set_default_controller()这样的函数;和_set_routing();这些下划线有什么特别的含义吗?我知道双下划线用于称为’魔术方法’的东西(我正在考虑__get和__set,因为那些是我自己使用过的).他们有任何“特殊”的技术含义还是纯粹的语义?如果可能的话,启发我.

最后但并非最不重要的是,在控制器核心文件中,我看到了:

class CI_Controller {

    private static $instance;

    public function __construct()
    {
        self::$instance =& $this;
                // goes on

这里的兴趣点是self :: $instance =& $这一点;这是什么意思?它是否将$this设置为自身的实例(wiiiiiild guess,哈哈),所以我们可以使用$this?或者这没有意义?实际上它没有,因为在非常基本的MVC样板中我将自己用于基本网站,我使用$this而没有任何高级的东西.

谁能在这里提供一些见解?我将不胜感激.非常感谢提前.

>&运算符通过引用分配值,这意味着进一步使用此变量将引用原始值,而不是指定的值.参考(无双关语): http://php.net/manual/en/language.references.php
>注释是 phpdoc样式,它们不是自己生成的,但可以方便地使用phpdoc或其他软件创建文档,并在IDE中获取预期的参数和返回值.
>下划线通常意味着该方法是私有的.在CI控制器中使用时,表示该方法无法通过URL访问.相关: What’s the deal with a leading underscore in PHP class methods? >你非常正确.函数get_instance()将返回Controller的$instance属性.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读