Конструктор PHP и экземпляры созданного класса Драконов

Конструктор PHP и экземпляры созданного класса

От автора: ООП! И Драконы у ног моих сели! Какие Драконы? Экземпляры класса Dragon. Для их создания я использовал конструктор PHP. Спокойно, ни у кого еще крыша не потекла. Просто сегодня у нас на обозрении конструкторы и их «антиподы». Точнее, деструкторы!

ООП в PHP

Да, господа! Наш горячо любимый язык программирования также являет объектно-ориентированным. Хотя этот талант PHP востребован не так сильно, как остальные его возможности. Почему так?

Объектно-ориентированное программирование чаще применяется при создании десктопных и мобильных программ. При этом для используется только одна дисциплина. А в веб-разработке PHP применяется еще с несколькими технологиями. Получается, что повторное использование программных скриптов не сильно и «приветствуется».

Главным преимуществом ООП является возможность наследования. То есть повторного применения кода. С помощью одного класса можно создать множество экземпляров. Кроме этого классы могут наследовать свойства родительских классов. Все это в совокупности значительно расширяет возможности многоразового использования уже готовых решений или классов.

Но не будем сильно зарываться в глубины ООП. Сегодня у нас на повестке дня PHP конструкторы класса. Ими и займемся.

Конструируем!

В ранних версиях языка (до PHP 5.0) конструкторы имели те же имена, что и их классы. Сейчас для объявления конструктора используется другой синтаксис. Например:

Конструктор PHP и экземпляры созданного класса

Чтобы объявить конструктор, нужно после ключевого слова function поставить два нижних подчеркивания и добавить construct:

Конструкторы – это обычные функции, поэтому они поддерживают идентификаторы доступа. А также в них можно передавать аргументы. С помощью конструкторов удобно предопределять поведение создаваемых экземпляров класса. Например, в предыдущем примере после создания экземпляра мы выводим на экран определенный текст.

Деструктурируем!

Классы в PHP имеют конструкторы и деструкторы. Их можно задавать явно или они создаются автоматически (по умолчанию) при объявлении класса. Конструкторы вызываются при создании объекта, деструкторы – при его удалении и служат для освобождения памяти от ненужных ресурсов. Следующий пример иллюстрирует все выше сказанное:

Конструктор PHP и экземпляры созданного класса

Проще говоря, использовать явное объявление конструкторов можно, чтобы реализовать дополнительные действия при создании объекта. А деструкторы – при его удалении. Также стоит помнить, что в отличие от конструктора деструктор не принимает никаких параметров.

Не в тему!

Тут на днях меня спросили, какой PHP конструктор сайтов лучше использовать. Как разработчик я отвечу, что никакой! И тут полетели в меня шишки :). Но позвольте! Прежде чем закидывать меня «плодами» хвойных, дайте до конца выразить свои мысли.

Для нас (начинающих программистов) вход на эти сервисы запрещен. Будь моя воля, то я возвел бы это правило в ранг закона. Мы должны учиться создавать свои решения, анализировать код. Спотыкаться на чужих и собственных решениях. Только так проходит становление настоящего профессионала.

Я согласен, что конструктор создания PHP сайтов в некоторых случаях является оптимальным вариантом для быстрого запуска своего ресурса. Особенно, если у вас не хватает средств, чтобы нанять толковых специалистов и заказать у них сайт с уникальным дизайном.

Одно время писал обзоры подобных решений. И вот я, умудренный опытом программист, захожу на один из таких сервисов и просто не понимаю, с чего мне начать, куда бежать и какую кнопку нажимать.

Конечно, можно возразить, что на онлайн-конструкторах всегда полно документации для новичков, различных пособий и даже обучающих роликов. Но повторюсь еще раз: все это не для нас! Мы с вами программисты, и нам нечего делать на таких платформах. Лучше время, которые вы потратите на изучение этих мануалов, уделить изучению еще одной темы на PHP!

Хотя некоторые онлайн-конструкторы все-таки могут помочь разработчику. Например, конструкторы регулярных выражений на PHP. Вот сюда добро пожаловать, поскольку составления regular expressions могут вывести из себя даже самого «бывалого». Так что конструкторы конструкторам рознь :).

Метки:

Похожие статьи:

Комментарии Вконтакте: