可能重复:
Underscore method prefix
我正在浏览Code Igniter库和系统,并且我一直在查找具有下划线_function()
的函数和没有function()
的函数;这甚至在课堂内也会发生。现在问题出现了:
函数前下划线的含义是什么?
答案 0 :(得分:7)
表示私有方法是一种常见的编码约定。这与CodeIgniter相同,请参阅Pekka和Gordon引用的文档。
在PHP 5中(5.1是从CI 2.0开始的最低重新测试),您可以使用private
访问修饰符,实际上强制执行私有访问(即在您尝试时导致错误)从课外调用该方法。)
答案 1 :(得分:2)
我不知道代码点火器,但是下划线通常标识内部使用的函数/变量,不应该从该对象外部调用。
答案 2 :(得分:2)
通常带有前导下划线的东西是私有的,带有两个前导下划线的东西是“特殊的”(例如__toString()魔术方法)。
答案 3 :(得分:2)
来自CodeIgniter的coding conventions:
只有您的类在内部访问的方法和变量,例如公共方法用于代码抽象的实用程序和辅助函数,应该以下划线为前缀。
convert_text() // public method _convert_text() // private method
答案 4 :(得分:0)
CodeIgniter将_function()
视为私有函数而不仅仅是function()
。
主要用于CodeIgniter控制器,因为你可以通过url直接访问所有控制器的功能。
除了前面有_