Maison  >  Article  >  développement back-end  >  Le problème de l'utilisation d'une exception pour signaler un état introuvable dans l'espace de noms PHP vous sera expliqué en détail avec des exemples spécifiques.

Le problème de l'utilisation d'une exception pour signaler un état introuvable dans l'espace de noms PHP vous sera expliqué en détail avec des exemples spécifiques.

亚连
亚连original
2018-05-17 14:53:322594parcourir

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 :

À propos de l'espace de noms PHP (combiné avec des exemples de code, simples et faciles à comprendre)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn