PHP の名前空間は、PHP 5.3 で追加された最も重要な新機能です。この概念は、PHP の名前空間は実際には C# と同じ概念です。
1. 名前空間の要素に動的にアクセスする
つまり、動的呼び出しは修飾名または完全修飾名でなければなりません (概念リファレンス: PHP 名前空間の使用の基本)
2. 魔法の定数と演算子
3. エイリアス、インポート、グローバルスペース (複数の例を含む)
上記の 3 行のコードは同じ効果があります。
ルール (wsweichenwww) に従って名前を付ける利点: ドメイン名を変更する場合、プレフィックス名のみを変更する必要があるため、後続のコードでのエイリアス www の使用には影響しません。
文法は問題ありません。
PHP のバージョンは何ですか? PHP は、バージョン 5.3.0 以降の名前空間をサポートします。 PHP のバージョンが低い可能性があります。
1. 名前空間 Zend\Http\PhpEnvironment;
このコードは、Zend\Http\PhpEnvironment という名前のドメイン名を定義していると理解できます。
定義後、以下で宣言されたクラス、インターフェース、constなどはすべて宣言された「ドメイン」内にあります。名前空間を宣言するインクルード ファイルを参照する場合、そのファイル内で何かを呼び出す場合は、次のことを行う必要があります:
現在のスクリプトをこのドメイン名に合わせて調整します。それ以外の場合は、namespace の完全な名前を使用する必要があります。
たとえば、inc.php ファイル:
namespace Zend\Http\PhpEnvironment;
class Bar {}// クラス
を定義し、他のファイルから呼び出される場合:
// Foo にアクセスする最初の方法は、次のとおりです。フルネーム
require 'inc.php';
$foo = new \Zend\Http\PhpEnvironment\Bar();
// Foo
名前空間にアクセスする2番目の方法 Foo; // 現在のスクリプトをnsドメインに合わせて調整します。 Foo の名前空間宣言は最初の文になければなりません
require 'inc.php';
$foo = new Bar();
2 use キーワードの目的は、ns:
のエイリアスを使用することです。たとえば、上記
/ / Foo にアクセスする最初の方法は、フルネームを使用することです
require 'inc.php';
$foo = new \Zend\Http\PhpEnvironment\Bar();
uses を使用した後
use \Zend\ Http\PhpEnvironment as pe; // エイリアスを定義します
$foo = new \pe\Bar() // 短いエイリアスを使用して元の
If次の部分を....として省略すると、たとえば上記の最後のセクションのテキストに直接置き換えることができます:
use \Zend\Http\PhpEnvironment; //エイリアスを定義します
$foo = new \PhpEnvironment\ Bar(); //元のエイリアスを短いエイリアスに置き換えます
================================== ===============
公式 PHP マニュアルの関連コンテンツ:
PHP では、名前空間は、クラスや関数などの再利用可能なコードを作成するときに発生する 2 種類の問題を解決するために使用されます。クラス ライブラリまたはアプリケーションの作成:
1 . ユーザーが作成したコードと、PHP の内部クラス/関数/定数またはサードパーティのクラス/関数/定数の間で名前が競合します。
2. ソース コードの可読性を向上させるために、非常に長い識別子名 (通常は最初の種類の問題を軽減するために定義される) のエイリアス (または短い) 名を作成します。
PHP 名前空間は、関連するクラス、関数、定数をグループ化する方法を提供します。
PHP 名前空間は、エイリアスまたはインポートの 2 つの使用方法をサポートしています。クラス名にエイリアスを使用する方法と、名前空間名にエイリアスを使用する方法です。エイリアスは、演算子を使用して実装されます。 ...本文の続き>>