我几天前在这里问过一个问题,关于如何避免从浏览器调用函数。一些不错的人指出,如果在函数名称之前加上下划线,它只接受来自app内部的调用。但是,通过这样做,我无法从一个元素调用该函数(通过使用requestAction)。还有另一种方法吗?谢谢!
答案 0 :(得分:1)
你不能从它的课外调用私有或受保护的方法; (这是私人和受保护方法的全部意义!)
除非我弄错了,否则唯一的选择是将方法设为公开,或者在其他方法中调用它,如果您担心用户不小心调用它,可能会使用模糊的方法名称。
您还可以使用以下方式检查请求是否通过requestAction
发出:
if (!empty($this->params['requested'])) {
//requestAction was used, requested is set to 1
}
因此,您可以在公共方法中使用它,并根据是否请求执行相应的操作。