PHP

[PHP]__FUNCTION__とは?現在の関数名を取得するマジック定数を徹底解説

はじめにこれまでの記事で、現在の行番号を取得する __LINE__、現在のファイルパスを取得する __FILE__ と __DIR__ を解説してきました。今回取り上げる __FUNCTION__ は、それらと同じマジック定数の仲間で、現在...
PHP

[PHP]__DIR__とは?現在のファイルが存在するディレクトリを取得するマジック定数を徹底解説

はじめに前回の記事では、現在のファイルの絶対パスを取得する __FILE__ を解説し、その中で「ディレクトリパスだけが必要な場合は __DIR__ の方が簡潔」と触れました。今回は、その __DIR__ を正面から取り上げます。__DIR...
PHP

[PHP]__FILE__とは?現在のファイルの絶対パスを取得するマジック定数を徹底解説

はじめに前回の記事では、コード中の現在行番号を取得するマジック定数 __LINE__ を解説しました。今回取り上げる __FILE__ は、それと並んでよく使われる、現在のファイルの絶対パスを取得するマジック定数です。__FILE__ は、...
PHP

[PHP]__LINE__とは?コード中の現在行番号を取得するマジック定数を徹底解説

はじめにこれまでの記事で、__construct() や __toString() といった「マジックメソッド」を数多く解説してきましたが、今回取り上げる __LINE__ は少し毛色が異なり、PHPに標準で組み込まれているマジック定数の一...
PHP

[PHP]__debugInfo()とは?var_dump()の出力内容をカスタマイズする方法を徹底解説

はじめに以前の記事で、変数の型情報と中身を詳細に表示する var_dump() を解説しました。今回取り上げる __debugInfo() は、その var_dump()(および print_r() の一部の挙動)がオブジェクトをどのように...
PHP

[PHP]__clone()とは?オブジェクトの複製時の挙動を制御する方法を徹底解説

はじめにこれまでの記事で、オブジェクトを関数のように扱う __invoke() や、コードとしての復元を担う __set_state() を解説してきました。今回取り上げる __clone() は、clone キーワードによってオブジェクト...
PHP

[PHP]__set_state()とは?var_export()から生成されたコードでオブジェクトを復元する方法を徹底解説

はじめに以前の記事で、変数をPHPコードとして評価可能な文字列に変換する var_export() 関数を解説した際、オブジェクトを出力すると \ClassName::__set_state(array(...)) という見慣れない形式にな...
PHP

[PHP]__invoke()とは?オブジェクトを関数のように呼び出す方法を徹底解説

はじめに前回の記事では、オブジェクトを文字列として扱う __toString() を解説しました。今回取り上げる __invoke() は、それとよく似た発想で、オブジェクトを関数のように「呼び出し可能(callable)」にするマジックメ...
PHP

[PHP]__toString()とは?オブジェクトを文字列として扱う方法を徹底解説

はじめに前回までの記事で、シリアライズに関わるマジックメソッド(__sleep()、__wakeup()、__serialize()、__unserialize())を解説してきました。今回取り上げる __toString() は、オブジェ...
PHP

[PHP]__wakeup()とは?復元後のオブジェクトを初期化する旧来の仕組みを徹底解説

はじめに前回の記事では、シリアライズ対象のプロパティ名を指定する古い仕組み __sleep() を解説しました。今回取り上げる __wakeup() は、その対となる、unserialize() によってオブジェクトが復元された直後に呼び出...