Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
就像__call我们可以在 PHP 中使用的魔术方法来挂钩对未定义方法的调用一样,有没有办法挂钩对未定义常量或变量的调用?
__call
像A::B, whereB不存在。
A::B
B
不。常量是在操作码编译时而不是运行时评估的,所以没有办法“捕捉”它们。与此相关的 php 仍然存在一个问题,即父类无法在父方法中调用子常量。
您可能正在寻找__getand__set。不过,我不确定它如何与静态常量一起使用,您可能只能使用实例对象。 请参阅 G-Nugget关于静态使用它们的评论。
__get
__set