エディターはクラス名を引用するようにガイドします (php バージョン)

醉折花枝作酒筹
リリース: 2023-03-11 20:52:01
オリジナル
1525 人が閲覧しました

前回の記事では、サブ名前空間とサブ名前空間の定義方法について学びましたので、必要に応じて「php名前空間のサブ名前空間とは何ですか?」もお読みください。》。今回は参照クラス名の使い方を紹介しますので、必要に応じて参考にしてください。

まず例を見てみましょう。

file1.php ファイル コード

ログイン後にコピー

file2.php ファイル コード

ログイン後にコピー

この例をよく見てみましょう。この例で最も顕著なのは、foo::staticmethod()です。どのような使用方法を使用する場合でも、「foo::staticmethod()」を使用する必要があることに気づきましたか。これが何を意味するのか?詳しく調べてみましょう。

この例によれば、「staticmethod()」は実際には静的メソッドの名前であり、「foo::」は「」に基づいていることがわかります。 foo()」が解析されます。

PHP 名前空間のクラス名は、次の 3 つの方法で参照できます。

  • 非修飾名、またはプレフィックスを含まないクラス名。たとえば、「$c=new foo();」または「foo::staticmethod();」などです。現在のネームスペースがspaceの場合、foo はspace\fooに解決されます。 foo がグローバル コード、つまりどの名前空間にも含まれていないコードである場合、foo は foo として解析されます。

    • 警告: ネームスペース内の関数または定数が定義されていない場合、修飾されていない関数または定数名はグローバル関数または定数名に解決されます。

  • 修飾名、またはプレフィックスを含む名前 (例:$c = new espace\foo();またはspace\foo::staticmethod();。現在のネームスペースがspaceの場合、foo はspace\space\fooに解決されます。 foo を使用するコードがグローバルであり、どの名前空間にも含まれていないコードの場合、foo はspace\fooに解決されます。

  • 完全修飾名、またはグローバル接頭辞演算子を含む名前 (例:$c = new \space\foo();#) # # または\space\foo::staticmethod();。この場合、foo はコード内で常にリテラル名(リテラル名)space\fooに解決されます。

完全修飾名を持つ関数は、クラスおよび定数を呼び出すときにコンパイル時に解決されます。

非完全修飾名は、インポート ルールに従ってコンパイル時に変換されます。

ネームスペース内では、インポート ルールに従って変換されないすべての修飾名の前に、現在のネームスペース名が付けられます。

以上です。他に知りたいことがある場合は、ここをクリックしてください。 → →

phpビデオチュートリアル

以上がエディターはクラス名を引用するようにガイドします (php バージョン)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!