ホームページ バックエンド開発 PHPチュートリアル PHPでのマジック定数の例の詳細な説明

PHPでのマジック定数の例の詳細な説明

May 03, 2017 pm 05:33 PM

魔法定数とは何ですか?

PHP 定数を説明するとき、PHP の定数のほとんどは変更されていないことがわかりますが、コード内の位置の変更によって変更される 8 つの事前定義された定数があります。これらの 8 つの定数はマジック定数と呼ばれ、これらの特別な定数です。大文字と小文字は区別されません。

PHP の「マジック定数」は次のとおりです。

関数 検出タイプ
__LINE__ ファイル内の現在の行番号。
__FILE__ ファイルのフルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
__DIR__ ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。これは dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能)
__FUNCTION__ 関数名 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
__CLASS__ クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。クラス名には、それが宣言されているスコープが含まれます (例: FooBar)。 PHP 5.4 以降、__CLASS__ はトレイトに対しても機能することに注意してください。特性メソッドで使用される場合、__CLASS__ は特性メソッドを呼び出すクラスの名前です
__TRAIT__ 特性名 (PHP 5.4.0 の新機能)。 PHP 5.4 以降、この定数は定義されたとおりの特性の名前を返します (大文字と小文字が区別されます)。 Trait 名には、それが宣言されているスコープのメソッド名 (FooBar など) が含まれます
__METHOD__ (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
__NAMESPACE__ 現在のネームスペースの名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます (PHP 5.3.0 の新機能)。

PHPでのマジック定数の例の詳細な説明上記の表では、「__」は 1 つの「_」ではなく、2 つのアンダースコアです。

マジック定数は、現在の環境情報を取得したり、ログを記録したりするためによく使用されます。

これらのマジック定数の使用法を見てみましょう:

__LINE__ ファイル内の現在の行番号を取得します。

<?PHP
header("content-type:text/html;charset=utf-8");
echo "这是第 ". __LINE__ ."行";
echo "<br/>";
?>
ログイン後にコピー

コード実行結果:

PHPでのマジック定数の例の詳細な説明

__FILE__ ファイルのフルパスとファイル名を取得します。インクルードされたファイルで使用されている場合は、インクルードされたファイル名を返します。

PHPでのマジック定数の例の詳細な説明

__DIR__ ファイルが存在するディレクトリを取得します。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。

インスタンス

<?php
header("content-type:text/html;charset=utf-8");
echo "该文件位于 ". __DIR__ ."文件夹下";
echo "<br/>";
?>
ログイン後にコピー

コードの実行結果:

PHPでのマジック定数の例の詳細な説明

__FUNCTION__ 定義時に関数の名前を取得します(大文字と小文字が区別されます)、関数名のみが返されます

インスタンス

<?php
header("content-type:text/html;charset=utf-8");
function Test() {
    echo  "该函数名为:". __FUNCTION__ ;
    echo "<br/>";
}
Test();
?>
ログイン後にコピー

コードの実行結果: Classが定義されているときに名前を取得します(ケースセンシティブ)

PHPでのマジック定数の例の詳細な説明

例-Sensitive)、関数がクラスにある場合、クラスメソッド名が返され、クラスに返されます。

Instance

<?php
header("content-type:text/html;charset=utf-8");
class test {
    function show() {
        echo "该类名为:". __CLASS__ . "<br>";
        echo "该函数名为:". __FUNCTION__ ;
        echo "<br/>";
    }
}
$t = new test();
$t->show();
?>
ログイン後にコピー

コードの実行結果:


__NAMESPACE__ 現在の名前空間の名前(大文字と小文字が区別されます)

<?php
    header("content-type:text/html;charset=utf-8");
    function test1() {
        echo  "该函数名为:". __METHOD__ ;
        echo "<br/>";
    }
    test1();
    ?>
    <?php
    class chhua{
        function test(){
            //返回类方法的名称
            echo __METHOD__;
        }
    }
    $e=new chhua();
    $e->test();//输出:chhua::test
    ?>
ログイン後にコピー
PHPでのマジック定数の例の詳細な説明コードの実行結果:

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C 言語の定数とは何ですか?例を挙げていただけますか? C 言語の定数とは何ですか?例を挙げていただけますか? Aug 28, 2023 pm 10:45 PM

定数は変数とも呼ばれ、一度定義されると、その値はプログラムの実行中に変更されません。したがって、変数を固定値を参照する定数として宣言できます。テキストとも呼ばれます。定数は、Const キーワードを使用して定義する必要があります。構文 C プログラミング言語で使用される定数の構文は次のとおりです - consttypeVariableName; (または) consttype*VariableName; さまざまなタイプの定数 C プログラミング言語で使用されるさまざまなタイプの定数は次のとおりです: 整数定数 - 例: 1,0 、34、4567 浮動小数点定数 - 例: 0.0、156.89、23.456 8 進数および 16 進数の定数 - 例: 16 進数: 0x2a、0xaa.. 8 進数

Pythonで定数を作成するにはどうすればよいですか? Pythonで定数を作成するにはどうすればよいですか? Aug 29, 2023 pm 05:17 PM

定数と変数は、プログラミングでデータ値を保存するために使用されます。変数は通常、時間の経過とともに変化する値を指します。定数は、プログラムの実行中に値を変更できない変数の一種です。 Python で使用できる組み込み定数は 6 つだけです。False、True、None、NotImplemented、Ellipsis(...)、__debug__ です。これらの定数とは別に、Python には定数値を格納するための組み込みデータ型がありません。例 定数の例を以下に示します。False=100 が出力されます。 SyntaxError:cannotassigntoFalseFalse は、ブール値を格納するために使用される Python の組み込み定数です。

Java では、final キーワードのみを使用して定数を定義できますか? Java では、final キーワードのみを使用して定数を定義できますか? Sep 20, 2023 pm 04:17 PM

定数変数とは、値が固定されており、プログラム内に 1 つだけ存在する変数です。定数変数を宣言して値を代入すると、プログラム全体でその値を再度変更することはできません。他の言語とは異なり、Java は定数を直接サポートしません。ただし、変数を static および Final として宣言することで、定数を作成することはできます。静的 - 静的変数を宣言すると、それらはコンパイル時にメモリにロードされます。つまり、使用できるコピーは 1 つだけになります。 Final - Final 変数を宣言すると、その値は変更できなくなります。したがって、インスタンス変数を static かつ Final として宣言することで、Java で定数を作成できます。デモの例 classData{&am

PHP エラー: 未定義の定数を呼び出すときの問題を解決するにはどうすればよいですか? PHP エラー: 未定義の定数を呼び出すときの問題を解決するにはどうすればよいですか? Aug 26, 2023 pm 03:39 PM

PHP は、Web 開発で広く使用されているサーバーサイド スクリプト言語であり、その柔軟性と使いやすさにより、多くの開発者にとって最初の選択肢となっています。ただし、PHP を使用すると、エラーが報告されることがあります。この記事では、「未定義定数の呼び出し」エラーとその解決方法に焦点を当てます。 1. 問題の説明 コード内で未定義の定数を使用すると、PHP は致命的なエラーをスローし、未定義の定数を呼び出すように求めます。一般的な例を次に示します: echoMY_

基本的なデータ型定数の定義と初期化方法学習ガイド 基本的なデータ型定数の定義と初期化方法学習ガイド Jan 05, 2024 pm 02:08 PM

基本データ型定数の定義と初期化方法を学ぶには、具体的なコード例が必要です プログラミングでは、整数、浮動小数点型、文字型など、さまざまな基本データ型が頻繁に使用されます。これらのデータ型を使用する場合は、その定義と使用法を理解するだけでなく、その定数を定義して初期化する方法も理解する必要があります。この記事では、基本的なデータ型定数の定義と初期化方法を紹介し、具体的なコード例を示します。整数定数の定義と初期化方法 整数定数には、int、long、short、byt があります。

PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? Aug 17, 2023 pm 02:13 PM

PHP エラー: 未定義の定数をプロパティ名として使用した場合はどうすればよいですか? PHP 開発では、コードを編成および管理するためにクラスとオブジェクトをよく使用します。クラスを定義するプロセスでは、クラスの属性 (つまりメンバー変数) がデータの保存において重要な役割を果たします。ただし、プロパティを使用する場合、未定義の定数をプロパティ名として使用するとエラーが発生することがあります。この記事では、このエラーの原因について説明し、いくつかの解決策を示します。まず、この問題を示す簡単な例を見てみましょう。 「Per」という名前のファイルがあるとします。

この記事は、Python の変数と定数を理解するのに役立ちます この記事は、Python の変数と定数を理解するのに役立ちます Jul 25, 2023 pm 02:15 PM

この記事は Python の基礎に基づいており、Python の基礎における変数と定数の違いを主に紹介し、変数の使い方を詳細に説明し、豊富な事例とコード レンダリングを使用して誰もがよりよく理解できるようにします。

PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 Jul 30, 2023 am 10:36 AM

PHP の命名規則: アンダースコア命名法を使用して定数とファイル名に名前を付ける方法 PHP プログラミングでは、コードの読みやすさと保守性を向上させるために、適切な命名規則が非常に重要です。この記事では、アンダースコア命名法を使用して定数とファイル名に名前を付ける方法を紹介し、コード例でそれを示します。定数の命名規則 PHP では、通常、定数はすべて大文字で名前が付けられ、単語はアンダースコアで区切られます。この命名規則は定数と変数を明確に区別しており、読みやすく理解しやすいものです。一般的な定数の命名例をいくつか示します: def

See all articles