这两段代码有什么区别?
class something {
static function doit() {
echo 'hello world';
}
}
something::doit();
Run Code Online (Sandbox Code Playgroud)
和相同但没有static关键字
class something {
function doit() {
echo 'hello world';
}
}
something::doit();
Run Code Online (Sandbox Code Playgroud)
它们的工作方式相同是否更好地使用静态关键字?我是否正确理解如果使用静态方法它不会实例化该类?
Joh*_*ker 11
第二个示例在技术上是不正确的 - 如果您打开E_STRICT错误报告,您将看到PHP实际上是在抛出错误.
PHP严格标准:非静态方法:: doit()不应该在...中静态调用
换句话说,它很好,让你无论如何都要调用这个函数.