検索

ホームページ  >  に質問  >  本文

PHP の名前空間使用キーワードに関する混乱

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

Tool\tool を使用します。

新しいツール();

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

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

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

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

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

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

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

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

淡淡烟草味淡淡烟草味2806日前646

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-05-16 13:15:36

    写真に示すように:

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

    添付テキスト:

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

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

    @wujunze
    @anonymous66
    @corki

    返事
    0
  • 怪我咯

    怪我咯2017-05-16 13:15:36

    使う

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

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:15:36

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

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:15:36

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

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

    返事
    0
  • キャンセル返事