Php 什么';除了函数()之外,函数()的含义是什么
可能重复:Php 什么';除了函数()之外,函数()的含义是什么,php,function,codeigniter,Php,Function,Codeigniter,可能重复: 我正在浏览代码点火器库和系统,并不断查找具有下划线\u function()的函数和没有下划线function()的函数;甚至在类内部也会发生这种情况。现在出现了一个问题: 函数前的下划线是什么意思 我不知道代码点火器,但下划线通常标识内部使用的函数/变量,不应从该对象外部调用。表示私有方法是一种常见的编码约定。同样适用于CodeIgniter,参见Pekka和Gordon引用的文档 在PHP5中(5.1是从CI 2.0开始的最低要求),您可以使用privateaccess修饰符,
我正在浏览代码点火器库和系统,并不断查找具有下划线
\u function()
的函数和没有下划线function()
的函数;甚至在类内部也会发生这种情况。现在出现了一个问题:
函数前的下划线是什么意思
我不知道代码点火器,但下划线通常标识内部使用的函数/变量,不应从该对象外部调用。表示私有方法是一种常见的编码约定。同样适用于CodeIgniter,参见Pekka和Gordon引用的文档
在PHP5中(5.1是从CI 2.0开始的最低要求),您可以使用
private
access修饰符,它实际上强制私有访问(即,当您尝试从类外部调用该方法时会导致错误).通常带有前导下划线的内容是私有的,而带有两个前导下划线的内容是“特殊的”(例如u toString()魔术方法)。来自CodeIgniter:
仅由类内部访问的方法和变量(例如公共方法用于代码抽象的实用工具和帮助函数)应以下划线作为前缀
convert_text() // public method
_convert_text() // private method
CodeIgniter将
\u函数()
视为私有函数,而不仅仅是函数()
这主要用于CodeIgniter控制器,因为您可以通过url直接访问控制器的所有功能
除了前面提到的
\u
AFAIK之外,它是一种指示私有方法的约定(当在类中时),但我会让了解更多的人确认这一点