Lorsqu'un fichier PHP déclare un espace de noms, lors de l'utilisation d'une classe dans ce fichier, vous devez spécifier dans quel espace de noms elle se trouve, sinon une erreur sera signalée car la classe est introuvable dans l'espace actuel, et la classe principale PHP introuvable dans l'espace actuel. Il y aura ce problème, exemple :
namespace TestExc; try { throw new Exception('throw exception'); } catch(Exception $ex) { echo $ex->getMessage(); }1234567
Exécutez le code ci-dessus, et l'erreur sera signalée :
PHP Fatal error: Class 'TestExc\Exception' not found in /private/var/folders/sr/1sh63qr542x9h61w4t7wrk200000gn/T/CodeRunner/Untitled.php on line 61
Vous pouvez également voir du rapport d'erreur que bien que Exception soit une classe principale de PHP, le programme ne fera que Il existe deux solutions pour trouver la classe Exception dans l'espace actuel
1 Déclarer une exception en utilisant l'espace global
use \Exception;
Quand. en utilisant Exception, déclarez-le comme utilisant l'espace global
namespace TestExc; try { throw new \Exception('throw exception'); } catch(\Exception $ex) { echo $ex->getMessage(); }123456
Connaissances connexes :
Si aucun espace de noms n'est défini, toutes les classes et fonctions sont définies dans l'espace global, tout comme avant que PHP n'introduise le concept d’espace de noms. Le préfixe d'un nom indique que le nom se trouve dans l'espace global, même s'il se trouve dans un autre espace de noms.
Pour les fonctions et constantes, si la fonction ou la constante n'existe pas dans l'espace de noms actuel, PHP reviendra à l'utilisation de la fonction ou de la constante dans l'espace global.
Voici les questions que j'ai compilées pour vous sur les erreurs d'espace de noms PHP. J'espère que cela vous sera utile à l'avenir.
Articles connexes :
Nommage PHP Espace (réponse détaillée combinée avec le code)
Introduction détaillée à la portée en php combinée avec le code
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!