PHP 7: что нового и когда выйдет?
Веб-разработка – это одно из самых главных направлений в программировании. И каждый разработчик, который работает в этой сфере и считает себя настоящим программистом, знаком с таким языком, как PHP. Данный язык программирования уже очень давно и успешно применяется во всем мире для разработки сайтов и веб-приложений. И если раньше разработка велась на пятой версии языка, то теперь все переходят на PHP 7. Дата выхода новой версии – 11 июня 2015 года. Стоит отметить, что это только альфа-версия. Финальная запланирована на конец 2015 года.
Нововведения
Итак, что же нового появится в свежей версии языка? Разработчики внесли следующие изменения и добавления:
- Производительность PHP 7 увеличена в два раза в сравнении с прошлыми версиями.
- Будет поддерживаться 64-битная архитектура.
- Большое число фатальных ошибок превратились в исключения.
- Появился комбинированные оператор для сравнения значений.
- Поддерживается сокращенная конструкция use.
- Добавлен оператор, который проверяет переменную на ее существование и возвращает значение.
- Стало возможным указывать массивы в качестве значений констант, которые объявляется при помощи define.
- Синтаксис конструкторов из четвертой версии теперь является устаревшим.
- В PHP 7 добавлены анонимные классы.
Это краткий список изменений. Далее будут подробно рассмотрены улучшения и нововведения языка. Удивительно, что с выхода пятой версии до выхода седьмой прошло 10 лет.
Почему после PHP 5 не было PHP 6?
Для многих это загадка. На самом деле все просто. Выпуск «шестерки» попросту не состоялся. Главной ее особенностью была поддержка символов "Юникод", так как в веб-разработке без этого никуда.
Идея заключалась в реализации этой поддержки в самом ядре PHP 7. Что нового бы это дало? Расширение возможностей языка, конечно. Стало бы возможным использование смайлов в качестве идентификаторов, а также расширилась бы функциональность строк на различных языках.
Эти планы были амбициозными, но имелось большое число проблем. Было очень непросто и утомительно портировать огромную часть кода для того, чтобы поддерживать "Юникод". Это повлияло на разработку других возможностей и расстроило веб-разработчиков. Так, со временем интерес к поддержке "Юникода" начал падать, а шестая версия перестала разрабатываться.
Но все это уже стало историей, так как вышла версия PHP 7. Что нового в ней?
Улучшение производительности
Раньше все обновления улучшали производительность незначительно, и для разработчиков главной целью был значительный ее сдвиг в PHP 7 в лучшую сторону. Они смогли с этим справиться. Теперь интерес программистов к движку Zend, на котором основан язык PHP, возрос в несколько раз. Многие специалисты отметили, что новая версия значительно эволюционировала и стала конкурентоспособной. Ведь лидерство стали завоевывать другие скриптовые языки программирования.
Движок Just In Time
Разработка PHP 7 началась с исследования, позволяющего узнать больше о внедрении данного движка, который способен компилировать код в машинный динамически. Ведь это позволяет в несколько раз увеличить быстродействие кода во время его исполнения. Хотя полностью внедрение еще не произошло, но создатели активно экспериментируют с этим. Если у них получится внедрить в язык JIT-движок, то это позволит поднять предельный уровень производительности еще выше.
Дерево абстрактного синтаксиса
Данный шаг компиляции был предложен российским программистом. Дерево способно обеспечить несколько преимуществ, в числе которых - большой потенциал для будущей оптимизации и более эффективное распределение памяти, что позволит ускорить работу PHP 7. Так, были описаны возможности открытия дерева в пользовательских приложениях. Это может привести к появлению качественных инструментов, которые станут крайне полезными при нахождении ошибок. Тесты, которые выполнялись на настоящих приложениях, показали, что новая версия использует вдвое меньше памяти в моменты обработки запросов. Несмотря на то что все в новой версии выглядит довольно знакомо, она сильно отличается от предыдущей в плане производительности. Ведь тот факт, что потребляется меньше памяти, дает возможность маломощным машинам обрабатывать запросы быстрее. А это способствует выстраиванию вокруг PHP своеобразных микросервисов.
Асинхронное программирование
В PHP 7 это необходимый шаг для того, чтобы реализовать цикл события. Это та часть кода, которая обеспечивает перехват событий, связанных с вводом и выводом, а также другими задачами асинхронного типа, которые могут работать параллельно (доступ к сети, файлам, базам данных).
Если говорить проще, это даст возможность добавить поддержку выполнения таких задач внутри единственного запроса. Асинхронное программирование также позволит в несколько раз увеличить производительность.
Улучшенный синтаксис
PHP 7 – скриптовый язык общего назначения. И для написания этих скриптов был улучшен синтаксис. Теперь код стало легче писать, он выглядит более приятно для разработчиков. Что было изменено?
- Появилась возможность группировать объявления импорта тех классов, которые находятся в одной строке и в едином пространстве имен. Это помогает сэкономить несколько байт в коде.
- Добавление Null-коалесцентного оператора решает проблему, возникающую тогда, когда программист хочет присвоить переменной значение, уже присвоенное другой переменной.
- Комбинированный оператор сравнения, который называют «космическим кораблем», помогает производить трехуровневое сравнение пары значений. Он позволяет понять не только равенство этих значений или их неравенство, но также то, какое из значений больше, если они не равны.
Исключения
Если раньше фатальные ошибки приводили к полной остановке выполняемого сценария, то с появлением исключений они перехватываются и обрабатываются. Теперь такие ошибки, как вызов несуществующей функции, не остановят сценарий. Сгенерируется исключение, которое возможно обработать в отдельном блоке кода. Это важная особенность для серверов, так как фатальные ошибки могут приводить к необходимости перезагрузки, что сильно тормозило работу.
Как установить PHP 7
1. Необходимо загрузить последнюю версию с официального сайта.
2. Из архива извлекается содержимое в папку php. Никакой инсталляции не требуется.
3. Изменяется конфигурационный файл сервера (имеется в виду Apache).
4. Параметр DirectoryIndex должен быть изменен на index.html.
5. Сервер перезагружается, а затем нужно через браузер зайти на страницу index.php и убедиться, что все работает так, как нужно.
В принципе, процесс не слишком изменился в сравнении с прошлой версией. Установка PHP 7 в Linux несколько отличается, так как нужно загружать из репозиториев пакеты, а затем при помощи специальных команд производить инсталляцию.
Заключение
Конечно, все последние изменения в языке программирования PHP стали существенными. Большинство из них были сделаны из-за конкуренции с Facebook и ее языком программирования Hack, который начал перехватывать лидерство. Именно это дало толчок к развитию. За это можно поблагодарить Марка Цукерберга и его компанию. Ведь это принесло большую пользу сообществу PHP-разработчиков. Теперь веб-разработка вышла на качественно новый уровень. Производительность была увеличена и еще будет расти, а следовательно, конкуренция с другими скриптовыми языками программирования пока будет выдержана. Ведь им еще предстоит длинный путь, чтобы сдвинуть со своего места гиганта PHP.