ホームページ バックエンド開発 PHPチュートリアル PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

Nov 03, 2021 pm 03:17 PM
php 絶え間ない 魔法定数

前回の記事「PHP定数の定義と値の取得を理解する」では、PHPにおける定数の基礎知識を詳しく紹介しましたが、今回はPHPについて見ていきましょう。 . の魔法定数に関する知識、皆さんのお役に立てれば幸いです!

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

前回の記事では、PHPにおける定数の簡単な定義と取得の基礎知識と魔法のメソッドについて学びました。次に、魔法定数の関連知識、魔法定数とは何なのか、そして魔法定数の主な用途は何かを見てみましょう。

マジック定数とは

マジック定数は、正確には定数ではありません。定数については前の記事で紹介しました。定数は使用できないことに注意してください。定義後に変更することもできます。ただし、マジック定数は PHP によって事前定義された定数であり、これらの事前定義された定数は、位置の変更により変更される可能性があります。

PHP では、あらゆるスクリプトで多くの事前定義定数が提供されており、定数が異なれば、拡張ライブラリも異なります。マジック定数は、特別な事前定義された定数として理解できます。

マジック定数の記述形式は通常、2 つのアンダースコア (__) で始まり、2 つのアンダースコアで終わります。例: __LINE____FILE__ など書式の記述に関しては、マジック定数では大文字と小文字が区別されないことを知っておく必要がありますが、記述する際には大文字を使用するようにしてください。

マジック定数の使用

PHP オペレーティング環境では、上記のように 8 つのマジック定数が提供されています。これらは定数と呼ばれていますが、正確には定数ではありません。コードの変更に応じて値が変化する定数 次に、これら 8 つのマジック変数をそれぞれ見てみましょう。

1.<strong><span style="font-size: 16px;">__LINE__ </span></strong> は、 file

の現在の行番号 次に、例を通して __LINE__ の使用法を見て、位置が変化するときのマジック定数の値を見てみましょう。なんという変化でしょう。

例は次のとおりです:

<?php
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行<br/>&#39;;
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行<br/>&#39;;
echo &#39;---------------<br/>&#39;;
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行&#39;;
?>
ログイン後にコピー

出力結果:

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

##上記の例では、マジック変数 __LINE__ を使用します。現在のコードが位置する行数を取得できます。

注意する必要があるのは、コードの場所が異なると、出力結果も異なることがわかります。したがって、マジック定数は定数とみなされず、コードが変更されると値が変化すると上で述べました。下を見てみましょう:

2.__FILE__ ファイルの絶対パスを表します

から

__FILE__ファイルの絶対パスを取得できます。このパスにはファイル名が含まれます。インクルードされたファイルでマジック定数が使用されている場合、返される結果はインクルードされたファイルの名前であることに注意してください。

例を通して __FILE__ の使用法を見てみましょう。例は次のとおりです:

<?php
echo &#39;该文件位于 " &#39; . __FILE__ . &#39; " &#39;;
?>
ログイン後にコピー

出力結果:


PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

上記の例では、__FILE__ を使用してファイルの絶対パスを取得しました。

3.__DIR__ ファイルが配置されているディレクトリを示すために使用されます

pass

__DIR__ ファイルが存在するディレクトリを取得できます。ファイルが存在するディレクトリは、ファイルを取得する __FILE__ の絶対パスとは異なります。ファイルが存在するディレクトリは、現在のファイルのファイル名が表示されます。この魔法の定数は、dirname(__FILE__) としても理解できます。

__DIR__ マジック定数の使用例を見てみましょう。例は次のとおりです:

<?php
echo &#39;该文件位于 " &#39; . __DIR__ . &#39; " &#39;;
echo  dirname(__FILE__);
?>
ログイン後にコピー

出力結果:


PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

上の例では、現在のファイルが置かれているディレクトリを 2 つの方法で取得しています。1 つは __DIR__ マジック定数、もう 1 つは dirname(__FILE__) です。達成できる効果は同じです。

4.__FUNCTION__ 現在の関数名またはメソッド名を取得するために使用されます

Through

__FUNCTION__ 現在の関数名やメソッド名を取得できます 次に、__FUNCTION__ マジック定数の使い方を例で見てみましょう。

例は次のとおりです:

<?php
function test() {
 echo &#39;通过__FUNCTION__获取的函数名为:&#39; . __FUNCTION__ ;
}
test();
?>
ログイン後にコピー

出力結果:


PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)##上記の例を通じて、__FUNCTION__ が現在の関数 関数名。

5.__CLASS__ 用于获取当前的类名

通过__CLASS__可以用于获取当前的类名,齐总也包括了当前类的作用区域或命名空间。接下来我们通过示例来看一下__CLASS__的使用。

示例如下:

<?php
class test {
 function _print() {
  echo &#39;通过__CLASS__获取的类名为:&#39; . __CLASS__ . "<br>";
  echo &#39;通过__FUNCTION__获取的函数名为:&#39; . __FUNCTION__ ;
 }
}
$t = new test();
$t->_print();
?>
ログイン後にコピー

输出结果:

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

通过上述示例已经了解在PHP中可以通过__CLASS__来获取当前的类名。

6.__TRAIT__ 当前的trait名称

通过__TEAIT__能够表示当前的trait名称,这其中包括了trait的作用区域或者命名空间。接下来我们通过示例来看一下__TRAIT__的使用。

示例如下:

<?php
class Base {
 public function sayHello() {
  echo &#39;Hello &#39;;
 }
}
trait SayWorld {
 public function sayHello() {
  parent::sayHello();
  echo &#39;World!&#39;;
 }
}
class MyHelloWorld extends Base {
 use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
?>
ログイン後にコピー

输出结果:

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

7.__METHOD__ 当前的方法名

通过__METHOD__能够获取当前的方法名,其中也包括类名,接下来我们通过示例来看一下__METHOD__的使用方法,示例如下:

<?php
function testMethod()
{
    echo &#39;当前的函数名为:&#39; . __METHOD__ . PHP_EOL . &#39;<br/>&#39;;
}
class TestMethodClass
{
    function testMethod1()
    {
        echo &#39;当前的方法名和类名为:&#39; . __METHOD__ . PHP_EOL; 
    }
}
testMethod();
$test = new TestMethodClass();
$test->testMethod1();
?>
ログイン後にコピー

输出结果:

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

上述示例中,我们通过__METHOD__获取了函数名和方法名。其中方法名中包括了类名。

8.__NAMESPACE__ 当前文件的命名空间名称

通过__NAMESPACE__可以获取当前文件的命名空间名称,接下来我们通过示例来看一下,示例如下:

<?php
namespace MyProject;
echo &#39;命名空间为:"&#39;, __NAMESPACE__, &#39;"&#39;; 
?>
ログイン後にコピー

输出结果:

PHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)

到此我们便是通过示例将八种魔术常量了解了一下。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上がPHP で一般的に使用される 8 つのマジック定数の使用方法を学習します (詳細な例)の詳細内容です。詳細については、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles