Heim > Backend-Entwicklung > PHP-Tutorial > Globale PHP-Fallback-Funktionen/Konstanten

Globale PHP-Fallback-Funktionen/Konstanten

伊谢尔伦
Freigeben: 2016-11-23 10:49:29
Original
890 Leute haben es durchsucht

Wenn PHP in einem Namespace auf einen nicht qualifizierten Klassen-, Funktions- oder Konstantennamen stößt, verwendet es eine andere Prioritätsstrategie, um den Namen aufzulösen. Klassennamen werden immer in Namen im aktuellen Namespace aufgelöst. Wenn Sie daher auf einen Klassennamen innerhalb des Systems oder nicht im Namespace zugreifen, müssen Sie den vollständig qualifizierten Namen verwenden, zum Beispiel:

Beispiel Nr. 1 Greifen Sie auf die globale Klasse im Namespace zu

<?php
    namespace A\B\C;
    class Exception extends \Exception {}
    $a = new Exception(&#39;hi&#39;); // $a 是类 A\B\C\Exception 的一个对象
    $b = new \Exception(&#39;hi&#39;); // $b 是类 Exception 的一个对象
    $c = new ArrayObject; // 致命错误, 找不到 A\B\C\ArrayObject 类
?>
Nach dem Login kopieren

Wenn bei Funktionen und Konstanten die Funktion oder Konstante nicht im aktuellen Namensraum vorhanden ist, greift PHP auf die Verwendung der Funktion oder Konstante im globalen Raum zurück.

Beispiel #2 Unterstützte globale Funktionen/Konstanten im Namespace

<?php
    namespace A\B\C;
    const E_ERROR = 45;
    function strlen($str)
    {
        return \strlen($str) - 1;
    }
    echo E_ERROR, "\n"; // 输出 "45"
    echo INI_ALL, "\n"; // 输出 "7" - 使用全局常量 INI_ALL
    echo strlen(&#39;hi&#39;), "\n"; // 输出 "1"
    if (is_array(&#39;hi&#39;)) { // 输出 "is not array"
        echo "is array\n";
    } else {
        echo "is not array\n";
    }
?>
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage