是否可以将方法属性从公共更改为私有,然后在运行时从类内部更改回来?
像这样: if ($sth) make_private($this->method);
或者也许还有其他方法可以影响方法的可访问性?
问题是我编写了一个必须调用一次方法的类,因此我需要代码来限制在执行该方法后从类外部访问给定方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在该方法中执行此操作的简单方法(限制为一次调用):
Simple way to do so within the mothod (restrict to one call):
您有几个更好的选择:
您建议的非常不受欢迎的方式是可能的,请参阅 classkit_method_redefine 或 runkit_method_redefine,但代表任何可能的人将来处理您的代码:请不要使用它。
You've got several better options:
The very undesirable way you suggest is possible, see classkit_method_redefine or runkit_method_redefine, but on behalf of anyone possibly working on your code in future: please do not use it.