ホームページ > バックエンド開発 > PHPチュートリアル > php は同じファイル内で複数の名前空間を定義します

php は同じファイル内で複数の名前空間を定義します

伊谢尔伦
リリース: 2016-11-23 10:59:36
オリジナル
1235 人が閲覧しました

例 #1 複数の名前空間を定義する、単純な組み合わせ構文

<?php
    namespace MyProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
    namespace AnotherProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
?>
ログイン後にコピー

この構文を使用して 1 つのファイルで複数の名前空間を定義することはお勧めできません。次の中括弧形式の構文を使用することをお勧めします。

例 #2 複数の名前空間を定義する、中括弧構文

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace AnotherProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
?>
ログイン後にコピー

実際のプログラミングの実践では、同じファイル内で複数の名前空間を定義することは強くお勧めできません。この方法は主に、複数の PHP スクリプトを同じファイルにマージするために使用されます。

グローバル非名前空間コードと名前空間内のコードを組み合わせるには、中括弧構文のみを使用できます。グローバル コードは、名前のない名前空間ステートメントとともに中括弧で囲む必要があります。例:

例 #3 複数の名前空間と名前空間に含まれないコードを定義する

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace { // global code
        session_start();
        $a = MyProject\connect();
        echo MyProject\Connection::start();
    }
?>
ログイン後にコピー

最初の宣言ステートメントに加えて、名前付けスペース括弧の外側の PHP コード。

例 #4 複数の名前空間と名前空間に含まれないコードの定義

<?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();
    }
?>
ログイン後にコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート