
PHP :: Классы и объекты
Классы в PHP
Понятия объекта и класса являются ключевыми в объектно-ориентированных языках программирования, к которым относится также и язык PHP. Объекты в нем представляют собой один из типов данных и становятся доступными после описания соответствующего класса.
Класс – это шаблон кода, который используется для создания объектов.
Каждое определение класса начинается с ключевого слова class, затем записывается имя класса и при помощи пары фигурных скобок формируется тело класса, в котором определяются свойства и методы этого класса (см. пример №1).

<?php //Объявили пустой класс без свойств и методов class empty_class{ } //Создали экземпляр класса, т.е. объект $empty_1=new empty_class(); //Создали еще один экземпляр класса, т.е. объект $empty_2=new empty_class(); ?>
Пример №1. Определение класса и создание объектов
Имена классов в PHP
Имена классов являются регистронезависимыми и должны начинаться с буквы или символа подчеркивания, за которым может следовать любое количество букв, цифр или символов подчеркивания. При этом имя класса не должно входить в список зарезервированных слов PHP.
Объекты в PHP
После того, как класс будет создан, можно создавать его отдельные экземпляры, т.е. объекты, и сохранять их в переменных. Для этого используется ключевое слово new, после которого указывается имя класса, экземпляром которого будет являться создаваемый объект. Так в примере выше было создано два объекта типа empty_class. И хотя оба они пусты – это все равно два полноценных независимых объекта, принадлежащих к одному и тому же типу, т.к. они являются экземплярами одного и того же класса.
При сохранении объектов в переменных происходит присвоение не самого объекта, а специального идентификатора (ссылки), по которому этот объект можно будет найти при обращении к нему позднее. Соответственно, если мы присвоим один и тот же объект двум разным переменным, то они будут хранить один и тот же идентификатор объекта, а при изменении значения любой из них, будет изменено значение и другой. Внешне такой процесс воспринимается, как присвоение объектов переменным по ссылке (в отличие от переменных, которые по умолчанию присваиваются по значению) с той лишь разницей, что присваиваются не сами объекты, а их идентификаторы.
Объекты очень важны для объектно-ориентированного программирования, поскольку позволяют скрывать от внешнего мира детали своего внутреннего устройства, которое может быть изменено без необходимости внесения изменений в использующий их код. При этом работа над каждым отдельным модулем в виде объекта может вестись отдельно, а по завершении разработки готовые модули могут быть соединены воедино в виде масштабного комплексного приложения. Данный процесс можно наглядно представить на примере из жизни, когда отдельные модули МКС собираются независимо друг от друга разными странами, а затем на орбите собираются в одну монолитную космическую станцию посредством готовых интерфейсов, обеспечивающих взаимодействие готовых модулей между собой.
Быстрый переход к другим страницам
- Анонимные функции в PHP
- Классы и объекты в PHP
- Константы, свойства и методы класса в PHP
- Вернуться к оглавлению учебника