PHP マジック変数に関する関連知識の理解と応用
PHP マジック変数は PHP で重要な役割を果たします。この記事では、それらについて詳しく説明します。
PHP は、実行するスクリプトに多数の事前定義された定数を提供します。
ただし、多くの定数はさまざまな拡張ライブラリによって定義されており、これらの拡張ライブラリがロードされるとき、動的ロード後、またはコンパイル中に組み込まれた場合にのみ表示されます。
コード内の位置に応じて値が変化する魔法の定数が 8 つあります。
たとえば、__LINE__ の値は、スクリプト内のどの行にあるかによって異なります。これらの特別な定数は大文字と小文字が区別されず、次のとおりです:
__LINE__
ファイル内の現在の行番号。
例
上記の例の出力結果は次のとおりです:
これは「2番目」の行です
__FILE__
file フルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。
PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、以前のバージョンには相対パスが含まれる場合がありました。
例:
Example
上記の例の出力結果は次のとおりです:
ファイルは " にありますE:wampwwwtestindex.php"
__DIR__
ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。
dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能)
例
上記の例の出力結果は次のとおりです:
ファイルは「E: wampwwwtest 」
__FUNCTION__
関数名(PHP 4.3.0で新規追加)にあります。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
例
<?phpfunction test() { echo '函数名为:' . __FUNCTION__ ;}test();?>
上記の例の出力結果は次のとおりです:
関数名: test
__CLASS__
クラスの名前(PHP 4.3.0で新しく追加されました)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。
PHP 4 では、この値は常に小文字です。クラス名には、それが宣言されているスコープが含まれます (例: FooBar)。 PHP 5.4 以降、__CLASS__ はトレイトに対しても機能することに注意してください。特性メソッド内で使用される場合、__CLASS__ は特性メソッドを呼び出すクラスの名前になります。
例
<?phpclass test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; }}$t = new test();$t->_print();?>
上記の例の出力結果は以下の通りです:
クラス名: test 関数名: _print
__TRAIT__
トレイト名(PHP 5.4.0で新規追加)。 PHP 5.4.0 以降、PHP はトレイトと呼ばれるコード再利用の方法を実装しています。
トレイト名には、それが宣言されるスコープが含まれます (例: FooBar)。
基本クラスから継承されたメンバーは、挿入された SayWorld トレイトの MyHelloWorld メソッドによってオーバーライドされます。その動作は、MyHelloWorld クラスで定義されたメソッドと一致しています。優先順位としては、現在のクラスのメソッドが特性メソッドをオーバーライドし、特性メソッドが基本クラスのメソッドをオーバーライドします。
Instance
<?phpclass Base { public function sayHello() { echo 'Hello '; }} trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; }} class MyHelloWorld extends Base { use SayWorld;} $o = new MyHelloWorld();$o->sayHello();?>
上記のルーチンは次を出力します:
Hello World!
__METHOD__
クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
例
<?phpfunction test() { echo '函数名为:' . __METHOD__ ;}test();?>
上記の例の出力結果は次のとおりです:
関数名は次のとおりです: test
__NAMESPACE__
現在の名前空間の名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます (PHP 5.3.0 の新機能)。
例:
Example
<?phpnamespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"?>
上記の例の出力結果は次のとおりです:
名前空間は次のとおりです: "MyProject"
この記事では、php のマジック変数について詳しく説明しています。その他の学習資料については、こちらをご覧ください。 phpに注意してください。中国のウェブサイトで見ることができます。
関連する推奨事項:
PHPマジック変数__METHOD__と__FUNCTION__の違いは何ですか
PHPマジック変数とマジック関数のサンプルチュートリアルのまとめ
PHPマジック変数の使用例の詳細な説明、PHPの詳細な説明マジックの例_ PHP チュートリアル
以上がPHP マジック変数に関する関連知識の理解と応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
