PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPマジックメソッド


はじめに

PHPのマジックメソッドは、特定のタスクを実行することを目的とした特別なメソッドです。これらのメソッドは、プレフィックスとして二重アンダースコア(__)を使用して名前が付けられます。これらの関数名はすべて予約されており、関連する魔法の機能以外の目的で使用することはできません。クラスの魔法のメソッドは、パブリックとして宣言する必要があります。これらのメソッドは、特定の条件が満たされたときに自動的に呼び出されるインターセプターとして機能します。

現在、PHPでは次の魔法の方法を利用できます

__ sleep

public __sleep ( void ) : array

クラスのserialize()メソッドは、関数名が__sleep()であるかどうかをチェックします。その場合、その関数はシリアル化の前に実行されます。シリアル化する必要があるそのオブジェクトのすべての変数の名前を含む配列を返すことになっています。

__ wakeup

public __wakeup ( void ) : void

unserialize()メソッドは、魔法の名前が__wakeup()の関数が存在することを確認します。存在する場合、この関数はオブジェクトが持つ可能性のあるすべてのリソースを再構築できます。

__ serialize

public __serialize ( void ) : array

serialize()メソッドは、クラスに__serialize()メソッドがあるかどうかもチェックします。その場合、シリアル化の前に実行されます。オブジェクトのシリアル化された形式を表すキー/値ペアの連想配列を作成して返す必要があります。

__ unserialize

public __unserialize ( array $data ) : void

unserialize()は、__ unserialize()が存在するかどうかもチェックし、__ serialize()から返された復元された配列が渡されます。次に、必要に応じて、その配列からオブジェクトのプロパティを復元する場合があります

__ toString

public __toString ( void ) : string

__toString()メソッドは、オブジェクトの文字列表現を記述します。たとえば、$objをエコーするもの。印刷します。このメソッドは文字列を返す必要があります

__ invoke

__invoke ([ $... ] ) : mixed

このメソッドは、スクリプトがオブジェクトを関数として呼び出そうとしたときに呼び出されます。

__ set_state

static __set_state ( array $properties ) : object

この静的メソッドは、var_export()によってエクスポートされたクラスに対して呼び出されます。エクスポートされたプロパティをarray('property' => value、...)の形式で含む配列である1つのパラメーターを受け取ります。

__ debugInfo

__debugInfo ( void ) : array

このメソッドは、表示する必要のあるプロパティを取得するためにオブジェクトをダンプするためにvar_dump()が実行されるときに自動的に呼び出されます。定義されていない場合は、すべてのパブリック、プロテクト、プライベートのプロパティが表示されます。

__ set

public __set ( string $name , mixed $value ) : void

__set()は、アクセスできない(保護された、またはプライベートな)プロパティまたは存在しないプロパティにデータを書き込むときに実行されます。

__ get

public __get ( string $name ) : mixed

__get()は、アクセスできない(保護された、またはプライベートな)プロパティまたは存在しないプロパティからデータを読み取るために使用されます。

__ isset

public __isset ( string $name ) : bool

__isset()は、アクセスできない(保護されているかプライベートな)プロパティまたは存在しないプロパティでisset()またはempty()を呼び出すことによってトリガーされます。

__ unset

public __unset ( string $name ) : void

__unset()は、アクセスできない(保護された、またはプライベートな)プロパティまたは存在しないプロパティでunset()が使用された場合に呼び出されます。


  1. PHPのtimezone_abbreviations_list()関数

    timezone_abbreviations_list()関数は、dst、offset、およびタイムゾーン名を含む連想配列を返します 構文 timezone_abbreviations_list() パラメータ NA 戻る timezone_abbreviations_list()関数は、成功した場合は配列を返し、失敗した場合はFALSEを返します。 例 以下は例です- <?php $timezone_abbreviations = timezone_abbreviations_list (); print_r($timezone_abbreviations[&quo

  2. PHPのarray()関数

    PHPのarray()関数は配列を作成します。 PHPでは配列には3つのタイプがあります。 インデックス付き配列- 数値インデックス付きの配列です 連想配列- 名前付きキーを持つ配列です 多次元配列- 1つ以上のアレイを持つアレイです 構文 // array with numeric index i.e. Indexed arrays array(value1,value2...); // array with named keys i.e. associative arrays array(key1 => value1, key2 => value2...