错误消息“严格标准:不应静态调用非静态方法”当使用静态调用访问非静态方法时,会发生“静态调用”。为了解决这个错误,我们将修改代码,以确保所有需要静态调用的方法都声明为静态。
在提供的代码中,Page 类中的方法没有声明为静态,而是它们被称为静态的。要解决这个问题,我们需要在方法声明中添加 static 关键字。
修改 Page.php
class Page{ // ... public static function getInstanceByName($name=''){ // ... } // ... }
通过将这些方法设为静态,他们可以使用类名进行访问,如index.php 文件中所示:
// ... if($page){ // load by name $r = Page::getInstanceByName($page); if($r && isset($r->id)) $id = $r->id; } // ...
其他注意
以上是如何修复'严格标准:不应静态调用非静态方法”PHP 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!