Houston, we have a problem.
Статические члены класса
Воспользоваться членами и методами можно и без объявления объекта класса,
объявив их статическими с помощью ключевого слова static, что делает их
доступными в любой момент.
Статические методы класса
Статическими можно объявлять не только члены, но и методы класса. Для
объявления статического метода также используется ключевое слово static,
а для обращения к методу - оператор разрешения области видимости :: .
Константы класса
Наряду с членами классы могут содержать константы, которые определяются
при помощи ключевого слова const.
Finаl-методы клаccа
Методы, объявленные в базовом классе с ключевым словом final,
не могут быть перегружены в производном классе.
Finаl-классы
Класс, объявленный при помощи ключевого слова final, не может иметь наследников.
Клонирование объекта
Для создания копии текущего объекта используется специальная операция - клонирование.
Оно выполняется при помощи ключевого слова clone,
которое располагается непосредственно перед объектом клонирования
Управление процессом клонирования.
Метод __clone() вызывается, когда выполняется клонирование объекта.
Сериализация объектов
Для сохранения объекта в формате, который позволял бы его восстанавливать
впоследствии, часто прибегают к сериализации: переводу объекта в
строку при помощи функции serialize ().
Такая строка может быть сохранена в файл или базу данных,
после чего сохраненный объект можно получить при помощи обратной функции unserialize ().
class.cls.php
использование
Управление сериализацией.
Методы __sleep() и __wakeup()
Два специальных метода, которые могут быть перегружены в классе: метод __sleep(),
который вызывается, когда объект подвергается сериализации при помощи
функции serialize (); и метод __wakeup(), который вызывается при восстановлении
объекта при помощи функции unserialize(). Оба метода не принимают никаких параметров.
__sleep()
class.user.php
использование
__wakeup()
class.user.php