Как было показано выше, для инициализации свойств классов можно использовать соответствующие методы доступа. Но существует и другой способ присвоения значений свойствам класса при создании объекта — использование конструкторов. В РНР конструктором является метод класса со специальным именем __construct (имя начинается с двух подчеркиваний), и при создании объекта ему могут быть переданы соответствующие данные. Ниже приведен пример конструктора для класса Animal, который выполнят начальную инициализацию имени животного точно так же, как это реализовано в методе set_name:
function __construct ($text)
{
$this->name = $text;
}
При создании объекта класса Animal данные для конструктора могут быть переданы с использованием скобок после имени класса, например:
$lion = new Animal ("Бонифаций");
Пример 3 демонстрирует использование конструктора для инициализации
свойства класса.
Пример 3. Использование конструктора
<HTML>
<HEAD>
<TITLE>
Использование конструктора для инициализации объекта
</Т1ТЪЕ>
|
|
</HEAD>
<BODY>
<CENTER>
<Н1>
Использование конструктора для инициализации объекта
</Н1>
<?php
flass animal
var $name;
function construct ($text)
} $this->name = $text;
function set_name ($text)
$this->name = $text;
function get_name ()
return $this->name;
}
$lion = new animal ("Бонифаций");
echo "Имя нового льва: ", $lion->get_name (), ".";
?>
</CENTER>
</BODY>
</HTML>
Для уничтожения объекта используется тот же самый оператор unset, при помощи которого можно уничтожить и обычную переменную:
unset $lion;