14 Дек 16

Эволюция языка PHP

эволюция языка php
Автор: admin Категория: Полезная информация

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

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

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

Неофициальные первые версии

Самая первая версия языка официально не выходила: небольшой набор скриптов на Perl/CGI был создан датским программистом по имени Расмус Лердорф в 1994 году для личного пользования. На тот момент PHP расшифровывалось как «Personal Home Page». Скрипты облегчали работу с онлайн-резюме создателя, обрабатывая шаблоны и ведя учет посетителей сайта. Уже тогда PHP мог включать HTML код.

Затем появился PHP/FI – более продвинутый вариант на C, с упрощенными синтаксисом и повышенными быстродействием. В этой версии уже можно было вывести значение переменной в текст страницы при помощи конструкции $имя_переменной.

Версия 2.0

Ноябрь 1997 года принес миру вторую версию интерпретатора – язык и его обработчик представили широкой публике. Язык обзавелся рядом низкоуровневых функций и оберток для них, было проведено множество тестов. Публика оценила: PHP/FI 2.0 работал примерно на 1% доменов.

Версия 3.0

Уже в июне 1998 года была выпущена 3-я версия языка: темп вырос после присоединения к команде разработчиков Зеева Сураски и Энди Гутманса (оба израильтяне). Новый интерпретатор был написан с нуля. В PHP 3 появилась ключевая возможность добавить к ядру свой модуль, так что сообщество программистов быстро создало множество разнообразных дополнений. Доля доменов с PHP выросла до 10%.

Еще одно заметное изменение касалось названия. Вместо персонального использования в него вошел акроним: PHP стали расшифровывать как hypertext preprocessor, то есть средство предварительной обработки PHP.

Версия 4.0

Четвертую версию трио разработчиков выпустило в 2000 году, соответствующий интерпретатор вышел в 1999. Особенностями этого релиза стало повышенное быстродействие, новые конструкции языка, дополнительная обработка пользовательского ввода ради безопасности работы и поддержка сессий. Кроме того, вывод стало можно направлять в специальный временный буфер. Ветка 4.х поддерживалась аж до августа 2008 года. Она подстегнула развитие многих проектов, включая популярный движок блогов WordPress и другие системы управления контентом сайта.

Версия 5.0

Параллельно с поддержкой прошлой версии в июле 2004 года была выпущена 5-я версия языка. Фактически она вывела PHP на новый уровень, поскольку вобрала в себя внушительное число элементов «настоящего» ООП:

  • доступ к частям кода стал управляться модификаторами private/public/protected;
  • для корректировки хода выполнения программы появились исключения;
  • для уничтожения объекта и освобождения областей памяти добавили деструктор и т.д.

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

Также язык дополнили «магическими» методами __get и __set. Их секрет заключается в выполнении интерпретатором неочевидных действий в нужное время, так что программист может положиться на эту «магию» и заниматься другим кодом.

Версии 5.1 и 5.2

В 2006-2009 годах язык еще чуть поменялся. «Магических» методов стало чуть больше, средства для связи с базой данных (PDO) стали включенными по умолчанию. Для работы с JSON ввели функцию json_encode. Кроме того, удалось исправить много ошибок, внесенных предыдущими версиями.

Версия 5.3

2009 год – год выхода очередной минорной версии – для PHP ознаменовался введением пространства имен. Это позволило удобно группировать и разграничивать имена переменных, что стимулировало разработку программистами различных библиотек для повторного использования. Ненаписанных хоть кем-то когда-то алгоритмов становилось все меньше. Интересно, что тогда же в язык добавили оператор goto.

Важной частью релиза стали лямбда-функции и замыкания. Такие анонимные функции позволили создавать функции без имен и затем присваивать их переменным, чтобы вызывать уже по имени переменной.

Версия 5.4

В 2012 году язык потерял одну из своих старых особенностей – магические кавычки. Этот элемент обеспечивал автоматическое экранирование (специфическую обработку) входных данных. Теперь хорошим тоном стало самостоятельно реализовывать требуемую обработку в явном виде.

Из нововведений интересны примеси – механизм, благодаря которому объект может получить признаки от множества других объектов. Кроме того, язык стал короче: стало можно использовать форма записи массива [1, 2] вместо старого Array (1, 2).

Версия 5.5

Годом позже язык еще раз поменялся. В частности, появился блок finally, который будет отрабатывать независимо от появления исключений, а имя классов стало можно получать с его пространством имен при помощи конструкции ::class.

Версия 5.6

С 2014 года PHP позволяет написать функцию с переменным числом параметров. Кроме того, стало возможным конструировать константы из выражений.

Версия 6

Эта версия могла бы стать прорывом, но она вообще не вышла. После долгой и утомительной работы ключевые разработчики признали, что выбрали неверный путь, когда планировали включить поддержку UTF-16 в язык на уровне ядра. В итоге от релиза вообще отказались.

Версия 7

Седьмая и последняя на текущий момент ветка живет с 2015 года. В нее вошли очень серьезные изменения:

  • усилился контроль типов – в него добавили string, int и др.;
  • появилась возможность указать тип для возвращаемых методом данных;
  • количество магии снизилось.

И это только часть из всего того, с чем столкнулись программисты. Ведь за значительное ускорение работы (в 2-3 раза) пришлось заплатить совместимостью с частью старого кода.

Что ждет PHP в будущем: пути развития

Все эти годы язык эволюционировал от лихой удали ранних версий до более строгого подхода и массового применения ООП в последних. При этом он сохранил свое ключевое преимущество – огромные возможности для веб-разработки, как на уровне простых правок HTML кода, так и на уровне реализации сложной бизнес-логики.

Какими станут очередные версии – покажет время. Но скорее всего язык продолжит двигаться в сторону повышения порога входа. Ведь сегодня для серьезной работы с PHP знания пары функций уже не хватает.

Теги:

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

Всего комментариев: 0

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>