可能重复什么是_function()的含义是:
Underscore method prefix尽管功能()
我浏览代码点火器库和系统,我不断发现有一个功能下划线_function()
和没有function()
的函数;这甚至发生在班级内。现在有个问题抬头:
函数之前的下划线是什么意思?
可能重复什么是_function()的含义是:
Underscore method prefix尽管功能()
我浏览代码点火器库和系统,我不断发现有一个功能下划线_function()
和没有function()
的函数;这甚至发生在班级内。现在有个问题抬头:
函数之前的下划线是什么意思?
这是一种常见的编码约定来表示私有方法。 CodeIgniter也一样,请参阅Pekka和Gordon引用的文档。
在PHP 5中(5.1是从CI 2.0以后的最低reqiurement),你可以使用private
访问修饰符来代替,这实际上强制私人通道(即导致错误,当您尝试从类的外部调用方法)。
我不知道代码点火器,但下划线通常标识内部使用的函数/变量,不应该从该对象外调用。
通常带有下划线的东西是私有的,而带有两个前导下划线的是“特殊的”(例如__toString()魔术方法)。
从CodeIgniter的coding conventions:
方法和只能由你的类内部访问的变量,例如,你的公共方法使用的代码抽象效用和辅助函数,应该用下划线作为前缀。
convert_text() // public method _convert_text() // private method
笨关于_function()
为私有函数,而不是仅仅function()
。
它的主要用途是在CodeIgniter控制器中,因为您可以直接通过url访问所有控制器的功能。
除了那些与_
AFAIK之前,它是用于指示私有方法(内部类时)公约,但我会告诉那些谁知道更证实了这一点 – 2011-03-08 10:22:07