Maison >développement back-end >tutoriel php >Comment corriger l'erreur PHP « Normes strictes : la méthode non statique ne doit pas être appelée de manière statique » ?
Le message d'erreur « Normes strictes : la méthode non statique ne doit pas être appelée de manière statique » appelé statiquement" se produit lorsqu'une méthode non statique est accédée à l'aide d'un appel statique. Pour résoudre cette erreur, nous modifierons le code pour garantir que toutes les méthodes sont déclarées comme statiques lorsqu'elles sont destinées à être appelées de manière statique.
Dans le code fourni, les méthodes de la classe Page ne sont pas déclarées comme statiques, mais ils sont appelés statiques. Pour résoudre ce problème, nous devons ajouter le mot-clé static aux déclarations de méthode.
Modifier Page.php
class Page{ // ... public static function getInstanceByName($name=''){ // ... } // ... }
En rendant ces méthodes statiques, elles peuvent accessible en utilisant le nom de la classe, comme indiqué dans le fichier index.php :
// ... if($page){ // load by name $r = Page::getInstanceByName($page); if($r && isset($r->id)) $id = $r->id; } // ...
Supplémentaire Notes
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!