我在课堂上定义了一个简单的 __callStatic 魔术方法:
public static function __callStatic($method, $args) {
if(substr($method, 0, 8) == "require_") {
// do stuff
}
}
该脚本在执行时因致命错误“Undefined method MyClass::require_foo”而终止。
然而..
如果我以任何方式修改文件,例如:
public static function __callStatic($method, $args) {
if(substr($method, 0, 8) == "require_") {
// HELLO
}
}
然后它适用于下一页加载。在我对文件进行另一次更改之前,后续页面加载失败。
这很令人毛骨悚然,对吧?但每次都是 100% 可重现的。