XII. クラス/オブジェクト関数
導入
以下の関数により、クラスやインスタンスオブジェクトに関する情報を 得ることが可能となります。オブジェクトが属するクラスの名前、その メンバープロパティ、メソッドを取得可能です。 この関数を使用することにより、オブジェクトのクラスメンバーだけで なく親クラス(すなわちそのオブジェクトクラスの派生元)の情報を得る ことも可能です。
要件
外部ライブラリを必要としません。
インストール手順
PHP コアに含まれるため、 追加のインストール無しで使用できます。
実行時設定
設定ディレクティブは定義されていません。
リソース型
リソース型は定義されていません。
定義済み定数
定数は定義されていません。
例
この例では、まず基底クラスおよびそのクラスの派生クラスを定義しま す。基底クラスは食用か否か、色とかいった、一般的な野菜を記述しま す。サブクラス
Spinach
はその野菜の料理法と調理 済であるかどうかの情報を追加します。
続いて、これらのクラスから二つのオブジェクトのインスタンスを作成し、 親クラスを含む情報を出力します。 また、いくつかのユーティリティ関数を定義します。これらは主に変数 を格好良く表示するためのものです。
|
例 2. test_script.php
注意すべき大事な点ですが、上記の例ではオブジェクト
|
- 目次
- call_user_method_array -- パラメータの配列を指定してユーザメソッドをコールする[古い関数]
- call_user_method -- 指定したオブジェクトのユーザーメソッドをコールする[古い関数]
- class_exists -- クラスが定義済か確認する
- get_class_methods -- クラスメソッドの名前を取得する
- get_class_vars -- クラスのデフォルトプロパティを取得する
- get_class -- オブジェクトのクラス名を返す
- get_declared_classes -- 定義済のクラスの名前を配列として返す
- get_declared_interfaces -- 宣言されている全てのインターフェースの配列を返す
- get_object_vars -- オブジェクトのプロパティを取得する
- get_parent_class -- オブジェクトの親クラスの名前を取得する
- interface_exists -- インターフェースが宣言されているかどうかを確認する
- is_a -- オブジェクトがこのクラスのものであるか、このクラスをその親クラスのひとつとしているかどうかを調べる
- is_subclass_of -- あるオブジェクトが指定したクラスのサブクラスに属するかどうかを調べる
- method_exists -- クラスメソッドが存在するかどうかを確認する
- property_exists -- オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる