aggregate_info
(PHP 4 >= 4.3.0)
aggregate_info — 指定したオブジェクトの集約情報を取得する
説明
array aggregate_info
( object
$object
)
object で指定したオブジェクトについての
集約情報を取得します。
パラメータ
-
object -
返り値
指定したオブジェクトに関する集約の情報を返します。返される値は、 メソッドとプロパティの配列を要素とする連想配列形式となります。 連想配列のキーは、集約されたクラス名となります。
例
例1 aggregate_info() の使用例
<?php
class Slicer {
var $vegetable;
function Slicer($vegetable)
{
$this->vegetable = $vegetable;
}
function slice_it($num_cuts)
{
echo "Doing some simple slicing\n";
for ($i=0; $i < $num_cuts; $i++) {
// 何らかのスライス処理
}
}
}
class Dicer {
var $vegetable;
var $rotation_angle = 90; // 角度
function Dicer($vegetable)
{
$this->vegetable = $vegetable;
}
function dice_it($num_cuts)
{
echo "最初のカットを行います\n";
for ($i=0; $i < $num_cuts; $i++) {
// 何らかのカット処理
}
$this->rotate($this->rotation_angle);
echo "別の向きのカットを行います\n";
for ($i=0; $i < $num_cuts; $i++) {
// さらに何らかのカット処理
}
}
function rotate($deg)
{
echo "{$this->vegetable} を {$deg} 度回転します\n";
}
function _secret_super_dicing($num_cuts)
{
// 企業秘密なので、ナイショです (^o^)
}
}
$obj = new Slicer('タマネギ');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>
上の例の出力は以下となります。
Array
(
[dicer] => Array
(
[methods] => Array
(
[0] => dice_it
[1] => rotate
)
[properties] => Array
(
[0] => rotation_angle
)
)
)
参考
- aggregate() - メソッドおよびプロパティの動的なクラス/オブジェクト集約を行う
- aggregate_methods() - クラスのメソッドを、動的にオブジェクトに集約する
- aggregate_methods_by_list() - 選択したクラスメソッドを、動的にオブジェクトに集約する
- aggregate_methods_by_regexp() - 正規表現を使用して選択したクラスメソッドを、 動的にオブジェクトに集約する
- aggregate_properties() - クラスのプロパティを、動的にオブジェクトに集約する
- aggregate_properties_by_list() - 選択したクラスプロパティを、動的にオブジェクトに集約する
- aggregate_properties_by_regexp() - 正規表現を使用して選択したクラスプロパティを、 動的にオブジェクトに集約する
- deaggregate() - 集約されたメソッドやプロパティをオブジェクトから取り除く