我现在开始玩CodeIgniter了.我使用他们的用户指南和其他可用于学习的第三方教程.我对私人功能的命名有些困惑.根据用户指南,我必须_在私有函数的名称前加上一个.但在本教程中,请检查" 添加注销"部分.其中有一个私人功能:private function check_isvalidated().这里,它没有前缀字符_.
那么这也是一个公认的命名惯例?与此同时,还有一个叫做_output():处理输出.它是一个公共函数,具有私有函数的命名约定!
当我尝试以系统的方式学习时,这有点令人困惑.
Ste*_*tei 32
该_前缀是在定义函数的惯例CONTROLLER.
用户指南说:
在某些情况下,您可能希望某些功能对公共访问隐藏.要将函数设为私有,只需添加下划线作为名称前缀,它将不会通过URL请求提供.
http://www.codeigniter.com/user_guide/general/controllers.html#private-methods
添加一个_是CodeIgniter自己在控制器中声明函数的方法(仅在控制器中),用户无法直接调用:
Controller函数映射到URL的部分(controller/function)控制器中有一些功能不应该映射到URL
- they are declared as `private` (available since PHP5)
OR
- their names start with `_` (works also for PHP4)
Run Code Online (Sandbox Code Playgroud)关于_output功能,它是公共的,但它不能直接调用,因为它包含_.
为什么要公开?
该函数由系统调用,因此需要从类外部访问,它不是私有函数.但是,它包含_以确保不通过URL调用它.
总而言之,如果您的控制器中有不希望通过URL直接调用的函数,请添加_前缀或使用private访问运算符.他们中的任何一个都足够好.
仅供参考,其他框架如Yii或Zend框架,使用action所有控制器功能的前缀,可以通过URL调用(映射).
| 归档时间: |
|
| 查看次数: |
14693 次 |
| 最近记录: |