Comment vérifier l'existence d'un espace de noms en php
J'ai un bibliothèque php https://github.com/tedivm/Fetch et il utilise Fetch espace de noms et je voudrais vérifier son existence dans mon script.
Mon code de script:
//Load Fetch
spl_autoload_register(function ($class) {
$file = __DIR__ . '/vendor/' . strtr($class, '\\', '/') . '.php';
if (file_exists($file)) {
require $file;
return true;
}
});
if (!class_exists('\\Fetch')) {
exit('Failed to load the library: Fetch');
}
$mail = new \Fetch\Server($server, $port);
mais ce message est toujours affiché. Mais la bibliothèque est entièrement de travail.
Merci d'avance pour toute aide!
OriginalL'auteur Maxim Seshuk | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser la totalité de l'espace de noms dans la
class_exists
je crois. Donc quelque chose comme:désolé, pas de barre oblique inverse, la mise à jour de la réponse
Merci!!!! C'est du travail!
s'il vous plaît marquer comme réponse alors, heureux de vous aider
Double slash ne sont pas nécessaires dans le guillemet simple chaîne de caractères. class_exists (Chercher\Server")
OriginalL'auteur ars265
Comme George Acier écrit, il est impossible de vérifier pour un espace de noms. C'est parce qu'un espace de noms n'est pas quelque chose qui existe; que des structures existent au sein des espaces de noms. Voir exemple ci-dessous:
OriginalL'auteur XedinUnknown
Vous ne pouvez pas vérifier directement de l'existence d'un espace de noms, c'est à dire que vous auriez à
class_exists('Fetch\\SomeClass')
. Voir aussi cette question: est-il possible d'obtenir la liste des espaces de noms définisOriginalL'auteur George Steel