PHP definiert mehrere Namespaces in derselben Datei

伊谢尔伦
Freigeben: 2016-11-23 10:59:36
Original
1219 Leute haben es durchsucht

Beispiel #1 Definieren Sie mehrere Namespaces, einfache Kombinationssyntax

<?php
    namespace MyProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
    namespace AnotherProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
?>
Nach dem Login kopieren

Es wird nicht empfohlen, diese Syntax zum Definieren mehrerer Namespaces in einer einzelnen Datei zu verwenden. Es wird empfohlen, die folgende Syntax in geschweiften Klammern zu verwenden.

Beispiel #2 Definieren Sie mehrere Namespaces, Klammersyntax

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace AnotherProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
?>
Nach dem Login kopieren

In der tatsächlichen Programmierpraxis wird dringend davon abgeraten, mehrere Namespaces in derselben Datei zu definieren. Diese Methode wird hauptsächlich verwendet, um mehrere PHP-Skripte in derselben Datei zusammenzuführen.

Um globalen Nicht-Namespace-Code mit Namespace-Code zu kombinieren, kann nur die Syntax mit geschweiften Klammern verwendet werden. Globaler Code muss in geschweifte Klammern mit einer Namespace-Anweisung ohne Namen eingeschlossen werden, zum Beispiel:

Beispiel #3 Definieren Sie mehrere Namespaces und Code, der nicht im Namespace enthalten ist

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace { // global code
        session_start();
        $a = MyProject\connect();
        echo MyProject\Connection::start();
    }
?>
Nach dem Login kopieren

Außer dem Beim Öffnen der Declare-Anweisung darf sich kein PHP-Code außerhalb der Namespace-Klammern befinden.

Beispiel #4 Definieren mehrerer Namespaces und Code, der nicht in Namespaces enthalten ist

<?php
    declare(encoding=&#39;UTF-8&#39;);
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace { // 全局代码
        session_start();
        $a = MyProject\connect();
        echo MyProject\Connection::start();
    }
?>
Nach dem Login kopieren


Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!