PHP での use キーワードの使用法。
osCommerce フレームワークなどの多くのオープン ソース システムでは、キーワードの使用がソース コードにあります。たとえば、osCommerce フレームワークでは、次のソース コードが次のように表示されます。
実は、php php5.3 以降から use キーワードが導入されました。その機能は、外部参照のエイリアスを作成することです。これはネームスペースの重要な機能であり、Unix ベースのファイル システムにおけるファイルまたはディレクトリの接続フラグの作成に似ています。
PHP 名前空間は 3 つのエイリアスメソッド (または参照) をサポートしています:
1. クラスのエイリアス化
3. ネームスペースのエイリアス化
これら 3 つのメソッドはすべて use キーワードを使用して完了します。以下は 3 つのエイリアスの例です:
//例 #1 use 演算子を使用したインポート/エイリアス設定
namespacefoo;
useMyFullClassnameasAnother;
//これは、MyFullNSname を NSname として使用するのと同じです
useMyFullNSname;
//グローバルクラスをインポート
useArrayObject;
$obj=newnamespaceAnother;//classfooAnother のオブジェクトをインスタンス化します
$obj=newAnother;//classMyFullClassname のオブジェクトをインスタンス化します
$a=newArrayObject(array(1));//classArrayObject のオブジェクトをインスタンス化します
//「使用せず」 ArrayObject「クラス fooArrayObject のオブジェクトをインスタンス化します」
?>
注意すべき点は、名前付きの名前の場合、FooBar のようにフルネームに区切り文字が含まれるため、FooBar は使用できません。「FooBar」のヘッダーにある「」は不要であり、このように記述することはお勧めできません。インポートされる名前は完全修飾名である必要があり、プログラム的に現在の名前空間に関連付けられていてはなりません。 (www.jbxue.com Scripting School)
PHP では、同じ行で複数の宣言を宣言することもできます。これは、上記の書き方と同等です
導入はコンパイル時に実行されるため、エイリアスは動的クラスに影響を与えないことにも言及する価値があります。例:
useMyFullClassnameasAnother,MyFullNSname;
$obj=newAnother;//instantiatesobjectofclassMyFullClassname
$a = 'Another';
?> のオブジェクトをインスタンス化します
変数 $a には値 'Another' が割り当てられているため、$a はコンパイル中に Classname に配置されます。
さらに詳しい使用方法については、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 つの使用方法をサポートしています。クラス名にエイリアスを使用する方法と、名前空間名にエイリアスを使用する方法です。エイリアスは、演算子を使用して実装されます。 ...本文の続き>>
キーワードはチェス盤上のチェスの駒であり、自分で変更したり追加したりすることはできません。考えてみてください。ポーンをルークとして使用して、あなたと遊ぶために 4 人の騎士を配置します。
つまり、PHP でもそれはできません!
わかるかな?
参考:www.gooddou.cn
http://www.bkjia.com/PHPjc/847129.html
などのソース コード内にあります。