PHPの名前解決ルール
はじめに
PHPコードでは、名前空間の外観は次のルールに従って解決されます-
-
名前空間区切り記号のない名前空間識別子( / )は、現在の名前空間を参照していることを意味します。これは修飾されていない名前です。
-
myspace \ space1のように区切り記号が含まれている場合 、myspaceの下のサブネームスペースspace1に解決されます。このようなタイプの名前空間は相対名前空間です。
-
完全修飾名前空間の名前は\文字で始まります。たとえば、\myspaceまたは\ myspace \ space1 。
-
完全修飾名は絶対名前空間に解決されます。例: \ myspace \ space1 myspace \ space1に解決されます 名前空間
-
名前がグローバル名前空間にある場合は、名前空間\ プレフィックスが削除されます。例: namespace \ space1 space1に解決されます 。
-
ただし、別の名前空間内で発生した場合は、処理が異なります。たとえば、 namespace \ space1 myspace内にあり、 myspace \ space1と同等です。
-
修飾名の名前の最初のセグメントは、現在のクラス/名前空間のインポートテーブルに従って変換されます。
-
インポートルールが適用されない場合は、現在の名前空間が名前の前に追加されます。
-
クラスのような名前は、クラス/名前空間のインポートテーブルに従って変換され、関数名は関数のインポートテーブルに従って変換され、定数は定数のインポートテーブルに従って変換されます。
-
修飾されていない名前の場合、インポートルールが適用されず、名前が関数または定数を参照し、コードがグローバル名前空間の外にある場合、名前は実行時に解決されます。最初に現在の名前空間から関数を探し、次にグローバル関数を見つけて呼び出そうとします。
-
PHPの名前空間キーワードとは何ですか?
この記事では、PHPの名前空間について学習します。 PHPでは、大規模なアプリケーションを作成する場合、またはサードパーティのアプリケーション/ライブラリを統合する場合、クラス名と関数名が衝突する可能性があります。したがって、これらの問題を回避するために、PHPの「名前空間」は、関連するクラス、インターフェース、関数、および定数をグループ化する方法を提供します。 以下の名前空間の宣言の構文を見てみましょう。 構文 <?php namespace MyfirstNamspace { function welcome()
-
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)