Что нового в веб-разработке на PHP?

PHP повсюду, по статистике известный серверный язык PHP используют 82.6% веб-сайтов и около 95.3% из них используют PHP 5 по данным W3Techs. Прошло 23 года с тех пор, как появилась первая версия PHP, и теперь мы переходим к версии 7.1.3. Тонкости и изменения по ходу работы направлены на повышение производительности (например, скорости) и делают написание кода более точным и эффективным. Если вы являетесь частью группы, которая все еще находится на более ранних версиях, возможно, пришло время перейти на PHP 7. И нет, вы не пропустили 6. Один из основных разработчиков PHP Андрей Змиевский хотел перенести поддержку Unicode в языке, путем внедрения библиотеки ICU и внутренне представляя строки как UTF-16. Поскольку этот проект приведет к значительным внутренним и пользовательским изменениям, планировалось, что это будет следующая версия, PHP 6. Однако использование UTF-16 в качестве кодировки по умолчанию занимает много времени и памяти, и многие разработчики вернулись к 5.2/5.3 или вообще не использовали его. Это вызвало задержку в проекте, и поскольку многое уже было написано отностельно версии 6, было решено путем голосования в 2014 году перейти к версии 7.

Теперь, когда у нас есть несколько версий в PHP 7, давайте взглянем на некоторые из особенностей.

Nullable-типы

Теперь вы можете объявлять Nullable-типы, которые позволяют вам понять, что вы планируете делать с переменными или функциями, что делает код легким для понимания. Это также позволяет улучшить обработку ошибок.

Void функция

В более ранних версиях ожидалось, что каждая функция возвращает что-то некоторого значения, но void функция позволяет писать функции, которые являются логическими реализациями чего-либо и не возвращать никаких значений. Преимущество void функции в том, что ясно, что вы ничего не ожидаете от нее, что улучшает обработку ошибок. У большинства языков программирования уже есть void функция, теперь и PHP догнал их в этом отношении.

Симметричный деструктурируемый массив

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

Итерируемый псевдотип

В дополнение ко многим типам данных псевдотип Iterable позволяет указать, что элементы могут быть итерированы внутри функции. Это позволяет улучшить обработку ошибок, потому что вы точно знаете, какой тип данных вы получаете.

Обработка исключений с несколькими исправлениями

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

Поддержка отрицательных смещений строк

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

Преобразование Callables в Closures

Преимущество Callables для Closures заключается в том, что вы можете захватывать ошибки там, где они происходят, а не там, где их вызывают. Это позволяет завершить операцию, не оставляя ничего в глобальной области.

Асинхронная обработка сигналов

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

Поддержка HTTP / 2 Server Push в ext / curl

Это усовершенствование позволит уменьшить время загрузки страницы до первого байта, так как сервер с HTTP / 2 сможет обнаруживать ресурсы и запросы и сразу их обрабатывать одновременно.

Готовы перейти на версию 7? Если вы все еще в пятой версии, переход может быть трудоемким, но он того стоит. Поддержка 5.5 закончилась, так что теперь самое время. PHP готовится конкурировать с другими языками, и вам захочется испытать все новые функции, которые делают разработку приятной.

Перевод оригинальной статьи: What’s New in PHP Web Development?
Переведенная статья не исключает возможных ошибок!

Написать комментарий

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

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