PHP 7 10 вещей, которые нужно знать
Вы веб-разработчик или владелец сайта? Ваши сайты работают на CMS с поддержкой PHP, такой как WordPress, Drupal, Joomla или Magento? Тогда у меня для вас хорошие новости: полнофункциональная бета-версия нового PHP 7 был недавно выпущен. Основной выпуск 7.0.0 содержит так много интересных функций, что мы решили посвятить ему целый пост. Но сначала нам нужно вставить несколько напоминаний.
Обратите внимание, что PHP 7 все еще находится в стадии разработки, поэтому не используйте его в производстве до ноября, когда Окончательный вариант Будет выпущен. Если - как будущий пользователь - вы хотите получить свою справедливую долю от процесса разработки, вы можете помочь с загрузкой последней бета-версии, поиграть с ней в своей среде тестирования и сообщать об ошибках, обнаруженных во время тестирования. Чтобы узнать, когда выйдет следующая бета-версия, вот график проекта.
С этим из пути, давайте проверим PHP 7.
1. Имя PHP 7 (не 6)
Текущая стабильная версия использует номер версии PHP 5.6. После некоторого спора команда разработчиков решила опустить название PHP 6 для следующего основного выпуска. PHP 6 уже существовал в прошлом как экспериментальный проект, но так и не достиг стадии производства.
Чтобы пользователи не могли перепутать первую попытку с последней разработкой, новый основной выпуск будет работать под именем PHP 7.
2. Бренд Spanking Новый Zend Engine
Движок Zend работает на PHP с 1999 года, когда он был представлен в новой версии PHP 4. Zend - не путать с Zend Framework - это механизм исполнения с открытым исходным кодом, написанный на C, который интерпретирует язык PHP. Текущее использование серии PHP 5.X Zend Engine II что улучшило функциональность исходного двигателя и добавляет расширяемая объектная модель и значительное повышение производительности на язык.
PHP 7 получает совершенно новую версию движка под кодовым именем PHP # NG (Next Generation).
3. Дважды Скорость
Наиболее легко узнаваемым преимуществом нового движка PHPNG является значительное улучшение производительности. Команда разработчиков PHPNG реорганизовала Zend Engine и значительно оптимизировала использование памяти.
Результаты, достижения? Вы можете увидеть тесты производительности, представленные Zend Performance Team ниже. Используя PHP 7 не только ваш код будет выполняться быстрее но вы также нужно меньше серверов для обслуживания одинакового количества пользователей.
4. Облегчает обработку ошибок
По меньшей мере, обработка фатальных и подхватываемых фатальных ошибок никогда не была легкой задачей для PHP-программистов. Новый Исключения двигателя позволит вам заменить ошибки такого рода исключениями. Если исключение не обнаружено, PHP продолжит возвращать те же фатальные ошибки, что и в текущей серии 5.X..
Новый \ EngineException объекты не расширяют \ Exception Базовый класс. Это обеспечивает обратную совместимость и приводит к двум различным видам исключений при обработке ошибок: традиционный а также исключения двигателя.
Чтобы позволить программистам поймать оба, PHP 7 вводит новый общий родительский класс под именем \ BaseException.
5. Поддержка 64-битных систем Windows
PHP является выдающимся членом стека LAMP, что означает, что его родной средой является Linux - но также возможно запустить его в системе Windows. Серия 5.X пока не обеспечивает поддержку 64-битных целых или больших файлов, поэтому до сих пор сборки x64 рассматривались экспериментальный.
PHP 7 изменит это как вводит согласованную 64-битную поддержку Это означает, что будут поддерживаться как собственные 64-битные целые, так и большие файлы, что позволит вам уверенно запускать язык в вашей 64-битной системе Windows в будущем.
6. Новый космический корабль и операторы слияния
Оператор космического корабля работает под официальным названием оператора комбинированного сравнения. Обозначение оператора new выглядит следующим образом: <=>
(вроде как упрощенный космический корабль, если вы это правильно представляете).
Оператор космического корабля возвращает 0, если оба операнда равны, 1, если левый больше, и -1, если правый больше. Это также называется трехсторонний оператор сравнения, и он уже существует в других популярных языках программирования, таких как Perl и Ruby.
Нулевой оператор слияния обозначен двумя вопросительными знаками (??). Вы можете использовать его, когда хотите проверить, существует ли что-то и вернуть значение по умолчанию, если это не так. Оператор coalesce возвращает результат своего первого операнда, если он существует и не равен нулю, и второго операнда в любых других случаях..
Вот как новый оператор сокращает время, затрачиваемое на базовые объявления:
7. Включает точные объявления типов
Вы когда-нибудь хотели предотвратить непреднамеренные возвращаемые значения, объявив тип возвращаемого значения функции? Что ж, новый PHP 7 позволяет разработчикам повысить качество своего кода с помощью объявлений возвращаемого типа..
На изображении ниже показан очень простой случай использования Foo () функция должна возвращать массив. Проверьте более сложные примеры здесь.
Чтобы еще больше расширить эту функцию, PHP 7 представляет 4 новых объявления типов для скалярных типов: int, float, string а также BOOL. Новые скалярные типы позволяют разработчикам обозначать, что они ожидают, что будут возвращены целые числа, числа с плавающей запятой, строки или логические значения. Новые скалярные типы, представленные в PHP 7, также будут поддерживаться аргументами Type Hints, которые позволяют разработчикам принудительно устанавливать тип параметров начиная с серии PHP 5.X..
8. Добавляет анонимные классы
PHP 7 позволяет вам использовать анонимные классы, уже хорошо зарекомендовавшие себя в других объектно-ориентированных языках, таких как C # и Java. Анонимный класс - это класс без имени. Объект, который он создает, имеет ту же функциональность, что и объект именованного класса..
Синтаксис такой же, как мы привыкли в традиционных классах PHP, только имя отсутствует. Если анонимные классы используются хорошо, они могут ускорить кодирование, а также время выполнения. Анонимные классы превосходны, когда класс используется только один раз во время выполнения и в тех случаях, когда класс не нужно документировать.
9. Облегчает импорт из того же пространства имен
Новая функция объявлений об использовании групп будет очень кстати для тех, кто хочет импортировать много классов из одного пространства имен. Новый синтаксис сокращает многословность, делает ваш код аккуратнее и проще для глаз, а также экономит ваше время при наборе текста.
Также будет легче читать и отлаживать коды, так как объявления использования групп помогут вам определить импорт, принадлежащий тому же модулю..
10. Очищает комнату
Цель PHP 7 состояла в том, чтобы освободить пространство для проведения улучшений, поэтому было необходимо избавиться от многих устаревших функций, а также от старых и неподдерживаемых серверных API-интерфейсов и расширений. Если вы хотите проверить, какие из них подробно, нажмите здесь и здесь.
Все удаленные элементы уже давно устарели в PHP 5, поэтому, скорее всего, вы не использовали их долгое время. Однако, пожалуйста, обратите внимание, если у вас есть устаревшее приложение работает на старых версиях PHP новый PHP 7 может потенциально нарушить код.