2011-03-08 88 views
2

可能重复什么是_function()的含义是:
Underscore method prefix尽管功能()

我浏览代码点火器库和系统,我不断发现有一个功能下划线_function()和没有function()的函数;这甚至发生在班级内。现在有个问题抬头:

函数之前的下划线是什么意思?

+1

AFAIK之前,它是用于指示私有方法(内部类时)公约,但我会告诉那些谁知道更证实了这一点 – 2011-03-08 10:22:07

回答

7

这是一种常见的编码约定来表示私有方法。 CodeIgniter也一样,请参阅Pekka和Gordon引用的文档。

在PHP 5中(5.1是从CI 2.0以后的最低reqiurement),你可以使用private访问修饰符来代替,这实际上强制私人通道(即导致错误,当您尝试从类的外部调用方法)。

2

我不知道代码点火器,但下划线通常标识内部使用的函数/变量,不应该从该对象外调用。

2

通常带有下划线的东西是私有的,而带有两个前导下划线的是“特殊的”(例如__toString()魔术方法)。

2

从CodeIgniter的coding conventions

方法和只能由你的类内部访问的变量,例如,你的公共方法使用的代码抽象效用和辅助函数,应该用下划线作为前缀。

convert_text()  // public method 
_convert_text()  // private method 
0

笨关于_function()为私有函数,而不是仅仅function()

它的主要用途是在CodeIgniter控制器中,因为您可以直接通过url访问所有控制器的功能。

除了那些与_

相关问题