ホームページ  >  記事  >  バックエンド開発  >  PHP マジック定数

PHP マジック定数

WBOY
WBOYオリジナル
2024-08-29 13:01:35733ブラウズ

PHP マジック定数には、使用される場所に基づいて依存関係を変更する定数が合計 8 つあります。これらすべての魔法の定数はコンパイル時に解決され、通常は実行時に解決される定期的に使用する定数とは異なります。これらの魔法の定数では大文字と小文字が区別されません。これらの定数は事前定義された定数であり、二重アンダースコア (__) で始まり、二重アンダースコアで終わります。これらの定数は、PHP で最も実用的で便利な定数です。これらは単純な変数ですが、事前定義された意味があります。これらの定数は、ユーザー定義の入力を印刷し、出力を処理して画面に表示するために使用されます。

広告 このカテゴリーの人気コース MAGIC BULLET LOOKS - スペシャライゼーション | 2コースシリーズ

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

PHP のマジック定数の種類

PHP には、以下に示す合計 8 つの魔法の定数があります。

  • __LINE__: この定数は、出力画面で使用されるコードの行番号を出力するために使用されます。現在の行番号を表します。
  • __FILE__: この定数は、ファイルの完全なファイル パスとファイル名を出力画面に出力するために使用されます。
  • __DIR__: この定数は、特定のファイルの完全なディレクトリ パスを出力画面に出力するために使用されます。また、ファイルのディレクトリ パスを出力する同等のメソッドがもう 1 つあり、それは dirname (__FILE__) です。
  • __FUNCTION__: この定数は、出力画面で現在使用されている関数名を出力します。関数内で使用された場合は関数名が出力され、関数の外で使用された場合は空白が返されます。
  • __CLASS__: この定数は、出力画面で使用されるクラス名を出力するために使用されます。クラス内で使用される場合はクラス名が出力され、関数の外で使用される場合は空白が返されます。
  • __TRAIT__: この定数は、トレイト名が使用される場所で使用されます。関数内で使用された場合は名前が出力され、関数の外で使用された場合は空白が返されます。この特性は、出力画面に名前空間を出力するために使用されます。
  • __METHOD__: この定数は、出力画面で使用されるクラス内で定義されたメソッドの名前を出力するために使用されます。コード内で宣言されているメソッドの名前を返します。メソッドまたはクラスの内部で使用された場合はメソッドの名前が返され、関数の外部で使用された場合は空白が返されます。
  • __NAMESPACE__: この定数は、現在の名前空間の名前を出力画面に出力するために使用されます。

PHP でマジック定数はどのように機能しますか?

以下は、PHP でマジック定数がどのように機能するかの例です。

PHP では、日常的に使用する非常に難しいコードでも、非常に簡単なコードでマジック定数を使用できます。例を挙げてどのように機能するかを見てみましょう:

例 #1

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h1>Example for __LINE__ constant</h1>";
echo "The line number is " . __LINE__ . "<br><br>";// prints the current line number i.e;7
?>
</body>
</html>

出力:

PHP マジック定数

例 #2

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __FILE__ constant</h2>";
echo __FILE__ . "<br><br>";//prints the full path of the file with extension
?>
</body>
</html>

出力:

PHP マジック定数

例 #3

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h3>Example for __DIR__ constant</h3>";
echo __DIR__ . "<br><br>";//prints the full path of the directory where the script is placed.
?>
</body>
</html>

出力:

PHP マジック定数

例 #4

コード:

<!DOCTYPE html>
<html>
<body>
<?php
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
?>
</body>
</html>

出力:

PHP マジック定数

例 #5

コード:

<!DOCTYPE html>
<html>
<body>
<?php
//Using magic constant inside function.
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
echo 'the function name is '. __FUNCTION__ ."<br><br>";
?>
</body>
</html>

出力:

PHP マジック定数

例 #6

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __CLASS__</h2>";
class xyz
{
public function __construct() {
;
}
function xyz_method()
{
echo __CLASS__ . "<br>";//prints the name of the class xyz mentioned above.
}
}
$a = new xyz;
$a->xyz_method();
?>
</body>
</html>

出力:

PHP マジック定数

例 #7

コード:

<!DOCTYPE html>
<html>
<body>
<?php
class abc
{
function test_abc()
{
echo __CLASS__;//will always print parent class which is abc mentioned above.
}
}
class xyz extends abc
{
public function __vowels()
{
;
}
}
$b = new xyz;
$b->test_abc();
?>
</body>
</html>

出力:

PHP マジック定数

例 #8

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h4>Example for __TRAIT__</h4>";
trait create_trait
{
function trait()
{
echo __TRAIT__;//will print name of the trait create_trait mentioned above.
}
}
class new_class
{
use create_trait;
}
$c = new new_class;
$c-> trait ();
?>
</body>
</html>

出力:

PHP マジック定数

例 #9

コード:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __METHOD__</h2>";
class method
{
public function __parameter() {
echo __METHOD__ . "<br><br>";//print method::__parameter
}
public function method_fun(){
echo __METHOD__;//print meth::method_fun
}
}
$z = new method;
$z->method_fun();
?>
</body>
</html>

出力:

PHP マジック定数

各関数の出力は上記の通りです。行定数は、ローカルホストに保存されているファイル leela.php の現在の行を出力します。ファイル定数は、出力に示されているように、パスとともにファイル名を出力します。 dir 定数または dirname は、現在のディレクトリ パスまたは言及されたディレクトリ パスを出力します。メソッドとクラス定数は、コード内で言及されたメソッド名とクラス名を出力します。定数がメソッドとクラスの外で言及されている場合、スコープ外であるため画面には何も表示されません。同様に、他の定数の出力も上記で説明されています。

結論

この記事では、PHP のすべての魔法の定数とその使用法を学びました。小規模なプログラムから大規模なプログラムまで使用できます。開発者はこれらの定数を使用して、エラーが発生した可能性がある問題を追跡できます。これらの定数は、開発者やユーザーがコードの現在位置を確認するのに役立ちます。

以上がPHP マジック定数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP 定数次の記事:PHP 定数