Объекты и классы - часть 3
get_parent_class
Получение имени родительского класса объекта
string get_parent_c!ass (object obj)
Возвращает имя родительского класса для класса, которому принадлежит объект obj.
См. также: get_class(), is_subclass_of().
is_subclass_of
Проверка наследования класса
boot is_subclass_of (object obj, string superclass)
Возвращает TRUE, если объект obj принадлежит к классу, наследному от класса superclass, иначе возвращает FALSE.
См. также: get_class(), get_parent_class().
get_object_vars
Получение списка свойств объекта
array get_object_vars (object obj)
Возвращает в ассоциативном массиве инициализированные для объекта obj свойства. Если переменным класса, к которому принадлежит объект obj, не были присвоены значения, то такие переменные в возвращаемый массив не включаются.
<?php class Point2D { // точка на плоскости var $x. $у: var Slabel. //конструктор function Point2D($x. $y) { $this->x = $х; $this->y = $у. } function setl_abel($label) { $this->label = Slabel. } function getPointO { return arrayC'x" => $this->x. "y" => $this->y. "label" => $this->label); } } $pl = new Point2D(1.233. 3.445); pnnt_r(get_object_vars($pl)); // "Slabel" объявлена, но не инициализирована // Array // ( // [х] => 1.233 // [у] => 3 445 // ) $pl->setl_abel("point #1"); рп nt_r(get_object_vars( $pl)): // Array // ( // [х] => 1.233 // [у] => 3.445 // [label] => point #1 // ) ?>
См. также: get_classjnethods(), get_class_vars().
method_exists
Проверка наличия у объекта указанного метода
bool method_exists (object object, string method_name)
Возвращает TRUE, если объект obj имеет метод с именем methodjiame, в противном случае возвращает FALSE.
call_ user_ method
Косвенный вызов метода объекта
mixed calljjserjnethod (string method_name, object obj [, mixed parameter [, mixed ...]])
Вызывает метод method_name объекта obj. Возможные параметры методу можно передать в последующих аргументах parameter.
<?php class Country { // объявление класса var $NAME; var $TLD. function Country($name. $tld) { $this->NAME = $name; $this->TLD = Hid; } function pnnt_info($prestr="") { echo Sprestr "Country: ",$this->NAHE. "\n": echo Sprestr."Top Level Domain: ".$this->TLD."\n": } } // создаем экземпляр класса Sentry = new CountryC'PoccMfl". "ru"); echo "* Прямой вызов метода класса \n", Scntry->print_info(), echo "\n* Косвенный вызов того же метода класса \n": calljjserjnethod ("pnntjnfo". Sentry. "\t"): ?>
См. также call_user_func().