ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Данные. Часть Пятнадцатая.


04-01-2015

11.3. Объекты и классы
Эти функции возвращают информацию об объектах и о классах. string get_class(object variable)
Функция get_class (листинг 11.72) возвращает имя класса для заданного объекта. Для получения аналогичной информации от метода класса можно использовать константу __CLASS__ . При этом PHP всегда возвращает имена классов в нижнем регистре.

Листинг 11.72. Функция getclass

<?php
class animal
{
var $name;
}
$gus = new animal;
print("Gus принадлежит к новому типу " . get_class($gus) .
"<br>n"); ?>

array get_class_methods(string class) array get_class_methods(object instance)
Функция get_class_methods (листинг 11.73) возвращает массив имен методов для заданного класса. При этом можно задать как имя класса, так и экземпляр класса.

Листинг 11.73. Функция get_class_methods

<?php
class dog
{
var $name="none"; var $sound="woof!"; function speak()
{
print($this->sound);
}
}
$gus = new dog; $gus->name = "Gus"; 
foreach(get_class_methods($gus) as $method)
{
print("$method<br>n");
}
>

array get_class_vars(string class)
Функция get_class_vars (листинг 11.74) возвращает массив, содержащий свойства класса и их значения по умолчанию. Сравните эту функцию с функцией get_object_vars.

Листинг 11.74. Функция get_class_vars, get_object_vars

<?php
class animal
{
var $name="none";
var $age=0;
var $color="none";
}
$gus = new animal; $gus->name = "Gus"; $gus->age = 7;
$gus->color = "black and tan"; print("<b>get_class_vars</b><br>n"); foreach(get_class_vars("animal") as $key=>$val)
{
print("$key=$val<br>n");
}
print("<br>n");
print("<b>get_object_vars</b><br>n"); foreach(get_object_vars($gus) as $key=>$val)
{
print("$key=$val<br>n");
}
?>

array get_object_vars(object data)
Функция get_object_vars возвращает массив с описанием свойств объекта и их значения. Пример использования этой функции можно найти в примере использования функции get_class_vars.
string get_parent_class(object variable) string get_parent_class(string class)
Функция get_parent_class (листинг 11.75) возвращает имя порождающего класса для объекта или класса. 
Листинг 11.75. Функция get_parent_class

<?php
class animal
{
var $name;
}
class dog extends animal
{
var $owner;
}
$gus = new dog; $gus->name = "Gus";
//Gus принадлежит к типу собак, который принадлежит к типу живот­ных
print("$gus->name is of type " .
get_class($gus) . ", который принадлежат к типу ". get_parent_class($gus) . "<BR>n");
?>

boolean is_a(object instance, string class)
Функция is_a (листинг 11.76) возвращает значение TRUE, если заданный объект является членом класса или одного из порождающих классов.

Листинг 11.76. Функция is_a

<?php
class Fruit
{
var $color;
}
class Apple extends Fruit
{
var $variety;
}
$a = new Apple; // истина
if(is_a($a, 'Fruit'))
{
$a->color = 'yellow';
}
// истина
if(is_a($a, 'Apple'))
{
$a->variety = 'Fuji';
}
// ложь
if(is_a($a, 'Vegetable'))
{
$a->vitamin = 'E';
print_r($a);

boolean is_subclass_of(object instance, string class)
Функция is_subclass_of используется для проверки, является ли объект подклассом указанного класса.
boolean method_exists(object variable, string method)
Функция method_exists (листинг 11.77) возвращает значение TRUE, если указанный метод в указанном объекте существует.

Листинг 11.77. Функция method_exists

<?php
class animal {
var $name;
}
class dog extends animal
{
var $owner; function speak()
{
print("woof!");
}
}
$gus = new dog; $gus->name = "Gus"; if(method_exists($gus, "speak"))
{
$gus->speak();
}
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Данные. Часть Четырнадцатая. PHP. Данные. Часть Шестнадцатая.