gpt4 book ai didi

php - 看CI源码后的一些基本问题

转载 作者:可可西里 更新时间:2023-11-01 13:18:26 25 4
gpt4 key购买 nike

我刚刚查看了 CodeIgniter 源代码,发现了一些我似乎无法弄清楚的事情;我不确定它们是什么意思,而且由于它们大多像一两个符号,因此很难同时在 google 和 stackoverflow 上搜索它们。

我经常遇到的一件事是:

$this->config =& get_config();

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

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

function &get_config($replace = array())

在这里,我的问题几乎是一样的:& 代表什么,它有什么作用?我在整个 CI 核心文件中经常看到这两个东西(&=&)。

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

 /**
* 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 因为我自己用过这些)。它们是否具有任何“特殊”技术含义或者是纯粹的语义?如果可能,请启发我。

最后但同样重要的是,在 Controller 核心文件中我看到了这个:

class CI_Controller {

private static $instance;

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

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

任何人都可以在这里提供一些见解吗?我将不胜感激。非常感谢。

最佳答案

关于php - 看CI源码后的一些基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com