So überprüfen Sie die Existenz eines Namespace in PHP

7

Ich habe eine php-Bibliothek Ссылка und verwendet den Fetch-Namespace, den ich überprüfen möchte Existenz in meinem Skript.

Mein Skriptcode:

%Vor%

aber diese Nachricht wird immer angezeigt. Aber die Bibliothek funktioniert voll.

Vielen Dank im Voraus für jede Hilfe!

    
Maxim Seshuk 20.08.2013, 14:28
quelle

3 Antworten

19

Sie müssen den gesamten Namespace in class_exists verwenden, glaube ich. So etwas wie:

%Vor%     
ars265 20.08.2013, 14:33
quelle
2

Sie können nicht direkt nach dem Vorhandensein eines bestimmten Namensraums suchen, d. h. Sie müssten class_exists('Fetch\SomeClass') . Siehe auch diese Frage: ist es möglich, eine Liste von definierten Namespaces zu erhalten

    
George Steel 20.08.2013 14:39
quelle
1

Wie George Steel schrieb, ist es unmöglich, nach einem Namensraum zu suchen. Dies liegt daran, dass ein Namespace nicht existiert. Nur Strukturen existieren innerhalb von Namespaces. Siehe folgendes Beispiel:

%Vor%     
XedinUnknown 13.01.2016 16:19
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '417204',
    'url' => 'how-to-check-the-existence-of-a-namespace-in-php',
];

$_SESSION = [
    '__flash' => [],
];