我现在有点困惑......在CakePHP文档中,它声明PHP的可见性可以替换如下:private
__
和protected
_
1}}。但是,进行必要的替换,并从另一个类中调用private
方法会导致执行该方法而没有任何限制。我错过了什么?
答案 0 :(得分:3)
如果您在模型中设置它们,只需使用private和protected,_和__仅适用于控制器操作
答案 1 :(得分:2)
下划线仅对控制器方法有效,因为用户无法访问它。 Inside Cake应用程序,它实际上只是一个约定。此外我不认为这是一个问题:你只需要从外面锁住你的房子,如果你是唯一的一个门,你不需要锁门。如果您想使用private
和protected
PHP关键字来实现这一目标。
答案 2 :(得分:2)
使用_和__作为受保护的resp。私有方法是CakePHP约定,因为CakePHP(高达v1.3.x)仍然是PHP4框架,而PHP4没有protected
和private
关键字。这意味着,即使您以这种方式为方法名称添加前缀,就PHP而言,它们仍然是公共方法。
在您的应用程序中,我将遵循即将到来的CakePHP 2使用的方法:使用命名约定和相应的可见性关键字。例如,私有方法将被定义为private function __myPrivateMethod()
。