PHP の名前空間使用キーワードに関する混乱
淡淡烟草味
淡淡烟草味 2017-05-16 13:13:36
0
4
636

PHP 5.3 以降、名前空間を参照するために使用が追加されました。
その後、次のようなものが追加されました。

Tool\tool を使用します。

新しいツール();

このように単純化された操作。

ただし、use を使用せずに名前空間を呼び出すことができる 3 つの方法を私は知っています。

1. 無制限メソッドの新しいツール()
2. 制限メソッド new Tool\tool()
3. 完全修飾メソッド new \Tool\tool()

ネームスペースの導入を必要としない操作方法、つまり上記3つの方法が分かりました。問題は次のとおりです。

Tool\tool を使用します。
そして
\ツール\ツールを使用します。

違いは何ですか?情報も見つかりません。ヘルプ

============================ 問題は解決され、答えは次のとおりです ======== ===== =========================

インポートされた名前は完全修飾されている必要があり、現在の名前空間を基準にして解決されないため、先頭のバックスラッシュは不要であり、推奨されません。

淡淡烟草味
淡淡烟草味

全員に返信(4)
洪涛

写真に示すように:

アドレスを添付します: http://php.net/manual/zh/lang...

添付テキスト:

名前空間内の名前 (FooBar などの名前空間区切り文字を含む完全修飾名、および FooBar などの名前空間区切り文字を含まない相対グローバル名) の場合、インポートされた名前は完全である必要があるため、先頭のバックスラッシュは不要で使用できないことに注意してください。修飾されており、現在の名前空間に関連して解決されません。

したがって、違いはなく、root を書くことはお勧めできません。

@wujunze
@anonymous66
@corki

いいねを押す +0
刘奇

使う

インポートされた名前は完全修飾されている必要があり、現在の名前空間を基準にして解決されないため、先頭のバックスラッシュは不要であり、推奨されません。

いいねを押す +0
仅有的幸福

修飾されたメソッドと非修飾されたメソッドは、ファイルをインポートするときの相対パスとファイルをインポートするときの絶対パスの違いとして理解できると思います。それらは少し同じです。正しく理解できているかわかりませんが、修正してください。

いいねを押す +0
洪涛

use Tooltoolはプロジェクトのルート名前空間から始まります

use Tooltool 現在のディレクトリの名前空間から開始します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート