CodeIgniter-&;操作人员


CodeIgniter - & operator

下面的代码行到底在做什么:

$config = &get_config();

&运算符是否通过引用?get_config()也是CodeIgniter的助手吗?我无法用谷歌搜索解释。

正如Konrad Rudolph在这里所说:https://stackoverflow.com/a/3957588/837765

&运算符告诉PHP在将数组传递给作用相反,对数组的引用被传递到函数,因此该函数修改原始数组,而不是复制

get_config()在数组中加载主config.php文件,然后直接使用&运算符修改返回数组。

它不是帮手。请查看此处(查找get_config()函数):http://www.8tiny.com/source/codeigniter/nav.html?_functions/index.html

Is&操作员通过引用传递

是的,它是通过引用传递的,这样您就可以更改配置数组。

get_config()也是CodeIgniter助手吗

不,它是一个核心CodeIgniter方法,它加载application/config/config.php中定义的配置数组。

你可以在这里查看来源。

&运算符是PHP的引用运算符。

CodeIgniter是一个相当古老的框架。在旧版本的PHP中,对象过去是通过值传递的。这意味着PHP在内存分配等方面相当浪费,这会使事情变得比需要的慢。为了防止PHP在每次访问对象时都分配内存,你可以使用引用。

在较新版本的PHP中,对象和数组是通过引用自动传递的。当涉及到数组时,只有在更改数组时才会分配新内存。

99%的时间都不需要使用参考资料。PHP将以合理的方式为您优化代码。只有当你了解他们的工作,并且有正当理由使用他们时,你才应该使用他们。

您可以在GitHub上的源代码中搜索get_config()函数。