+ -
当前位置:首页 → 问答吧 → 关于直接调用对象方法和用callback的方式调用居然没有任何区别

关于直接调用对象方法和用callback的方式调用居然没有任何区别

时间:2010-08-05

来源:互联网

当调用一个受保护的方法的时候PHP给出了一个fatally错误
即使你使用了call_user_method,仍然是一个致命的,也就是说程序到这里必须结束
但是我们知道如果调用了受保护的方法那么说明这是在用户层面出现的错误,
现在PHP的做法是这个方法存在,但是你不能访问,脚本运行结束,没有任何回旋余地
而且call_user_method也是fatally, 不知道为什么会这样设计

因此如果网站要求有很高的用户友好性,必须防止保护性属性被访问到,最好是能访问的地方是public的

作者: arxccv   发布时间: 2010-08-05

你可以用反射和Closure实现

作者: bs   发布时间: 2010-08-06

这明显是设计的问题,既然这个方法是受保护的那就说明这个方法是不应该被外部以任何理由任何方法所访问的,即便使用反射或者是别的什么方法都不可以,这是设计原则的问题

作者: qxhy123   发布时间: 2010-08-06