PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの名前解決ルール


はじめに

PHPコードでは、名前空間の外観は次のルールに従って解決されます-

  • 名前空間区切り記号のない名前空間識別子( / )は、現在の名前空間を参照していることを意味します。これは修飾されていない名前です。

  • myspace \ space1のように区切り記号が含まれている場合 、myspaceの下のサブネームスペースspace1に解決されます。このようなタイプの名前空間は相対名前空間です。

  • 完全修飾名前空間の名前は\文字で始まります。たとえば、\myspaceまたは\ myspace \ space1

  • 完全修飾名は絶対名前空間に解決されます。例: \ myspace \ space1 myspace \ space1に解決されます 名前空間

  • 名前がグローバル名前空間にある場合は、名前空間\ プレフィックスが削除されます。例: namespace \ space1 space1に解決されます 。

  • ただし、別の名前空間内で発生した場合は、処理が異なります。たとえば、 namespace \ space1 myspace内にあり、 myspace \ space1と同等です。

  • 修飾名の名前の最初のセグメントは、現在のクラス/名前空間のインポートテーブルに従って変換されます。

  • インポートルールが適用されない場合は、現在の名前空間が名前の前に追加されます。

  • クラスのような名前は、クラス/名前空間のインポートテーブルに従って変換され、関数名は関数のインポートテーブルに従って変換され、定数は定数のインポートテーブルに従って変換されます。

  • 修飾されていない名前の場合、インポートルールが適用されず、名前が関数または定数を参照し、コードがグローバル名前空間の外にある場合、名前は実行時に解決されます。最初に現在の名前空間から関数を探し、次にグローバル関数を見つけて呼び出そうとします。


  1. PHPの名前空間キーワードとは何ですか?

    この記事では、PHPの名前空間について学習します。 PHPでは、大規模なアプリケーションを作成する場合、またはサードパーティのアプリケーション/ライブラリを統合する場合、クラス名と関数名が衝突する可能性があります。したがって、これらの問題を回避するために、PHPの「名前空間」は、関連するクラス、インターフェース、関数、および定数をグループ化する方法を提供します。 以下の名前空間の宣言の構文を見てみましょう。 構文 <?php    namespace MyfirstNamspace {       function welcome()

  2. PHPのzip_entry_name()関数

    zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 構文 zip_entry_name(zip_entry) パラメータ zip_entry − zip_open()で開いたzipファイルをここに記載します。 戻る zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 以下は例です。 zipアーカイブ「new.zip」に5つのファイルがあるとします。 例 <?php    $zip = zip_open("new.zip");    if ($zip)