我已经开始现在笨玩。 我用自己的用户指南和其它第三方的教程可用于学习。 我有点停留在私人活动命名。 基于用户指南 ,我要一个前缀_
中的私有函数的名称。 但是, 在本教程中 ,选中添加注销部分。 在这里面,有一个私有函数: private function check_isvalidated()
在这里,它不是以字符为前缀_
。
所以这也是一个公认的命名约定? 与此同时,还有另外一个称为_output()
处理输出 。 这是一个私有函数的命名约定公共职能!
这是一个有点当我尝试以系统化的方式来学习混淆的。
该_
前缀是在定义函数的公约CONTROLLER
。
用户指南说:
在某些情况下,你可能想从公共访问隐藏的某些功能。 为了使一个函数私有,只需添加下划线作为名称前缀,它不会通过一个URL请求提供服务。
http://www.codeigniter.com/user_guide/general/controllers.html#private-methods
添加一个_
是CodeIgniter的自己的控制器(仅在控制器)声明函数的方式,不能由用户直接调用:
关于_output
功能,它是公共的,但它不能直接调用,因为它包含_
。
为什么上市?
该功能由系统调用,因此它需要从类的外部访问,这是不是一个私有函数。 但是,它包含_
,以确保它不通过URL调用。
综上所述,如果你在你的控制器功能,你不想被通过URL直接调用,加_
前缀或使用private
接入运营商。 无论是他们中的一个是足够好的。
仅供参考,像的Yii或Zend框架其他框架,使用该action
前缀的所有控制器的功能,其可以通过URL调用(映射)。
当用户提示不说,你必须用下划线控制器内的私有函数前缀的函数名称,它不是强制性这样做。 虽然,这可能是遵循约定一个好主意,所以建议你这样做。
如果访问修饰符是可以看到用下划线前缀的函数名时,显着的影响public
。 在这种情况下,如果您尝试访问通过URL的功能会给你一个404
错误。 但在情况下,你有访问修饰符设置为private
不要紧,你是否好象用下划线前缀的函数名。
但是,在本教程中,选中添加注销部分。 在这里面,有一个私有函数:私有函数check_isvalidated()。 在这里,它不是以字符为前缀_。
在该教程中,函数名不以下划线前缀,但它是一个私有函数,因为它被声明为一个。 因此,尝试通过URL来访问它不会工作。
与此同时,有)另一个称为_output(:处理输出。 这是一个私有函数的命名约定公共职能!
我已经解释这一点,但我想指出的是, _output()
函数是那些将在某一点的脚本执行过程中被称为特殊功能之一。 在这种情况下,笨就会调用这个函数的函数结束,权当是时候输出的东西到浏览器。