この記事では、名前空間の紹介を始めます。名前空間は物事をカプセル化する方法であり、この抽象的な概念は多くの場所で見られます。今日はそれを紹介しますので、必要な場合は参照してください。
まず、名前空間とは何かを理解しましょう。 (必要に応じて、PHP 名前空間を参照してください。)
PHP では、名前空間を使用して、クラス ライブラリまたはアプリケーション (クラスや関数など) を作成し、再利用可能なコードを作成する問題を解決できます。 :
ユーザーが記述したコードの名前は、PHP のクラス/関数/定数の名前、またはサードパーティのクラス/関数/定数の名前と競合します。
ソース コードの読みやすさを向上させるために、ユーザーが作成した長い識別子の別名 (または略語) を作成します。
PHP の名前空間は、関連するクラス、関数、定数をグループ化する方法を提供します。
さあ、今日の紹介、名前空間の定義方法を正式に始めましょう。
まず小さな栗を見てみましょう。
<?php declare(encoding='UTF-8'); //定义多个命名空间和不包含在命名空间中的代码 namespace MyProject { const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ } } namespace { // 全局代码 session_start(); $a = MyProject\connect(); echo MyProject\Connection::start(); } ?>
観察したところ、これら 2 つのコードにはキーワード「namespace
」という共通点があるものの、キーワードが異なっていることがわかりました。その理由は何ですか?名前空間について学ぶと、それがわかります。
デフォルトでは、PHP が名前空間をサポートする前と同様に、すべての定数、クラス、関数名はグローバル空間に配置されます。
名前空間は、キーワード namespace
を使用して宣言されます。ファイルに名前空間が含まれている場合は、他のすべてのコードの前に名前空間を宣言する必要があります。構文形式は次のとおりです;
<?php // 定义代码在 'MyProject' 命名空间中 namespace MyProject; // ... 代码 ...
また、同じファイル内で異なる名前空間コードを定義できます。ただし、グローバル非名前空間のコードと名前空間のコードを組み合わせる場合は、中かっこ内の構文のみを使用できます。グローバル コードは、名前のない名前空間ステートメントとともに中括弧で囲む必要があります。
同時に、名前空間を宣言する前の唯一の有効なコードは、ソース ファイルのエンコーディングを定義する宣言ステートメントです。 PHP 以外のすべてのコード (空白を含む) は、名前空間宣言の前に現れてはなりません。
名前空間の名前付けは以上です。さらに詳しく知りたい場合は、ここをクリックしてください。 → →phpビデオチュートリアル
以上がPHP名前空間でスペースを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。