• База знаний
  • /
  • Блог
  • /
+380 (44) 364 05 71

3 декабря 2015 года увидел свет, новый, столь долгожданный разработчиками, PHP 7. Это не просто выход очередной версии популярного языка разработки сайтов, это значительно улучшенный продукт, работа над которым продолжалась более двух лет.

По просьбам многих разработчиков, мы добавили на наш хостинг PHP 7. Его можно подключить в панели управления UNIX хостингом, разделе «Настройка PHP».


Коротко про основные особенности PHP 7

Производительность.

Одно из основных преимуществ PHP 7 является его производительность. Хостинг с PHP 7, благодаря использованию технологии phpng, почти в два раза быстрей хостинга с PHP 5.6

Совместимость.

Были удалены старые не поддерживаемые SAPI и расширения, а так же функции ранее обозначенные как deprecated. Например, больше не поддерживается расширение ext/mysql и ext/ereg. Так же не допускается использовать в одном switch нескольких default.

Например:
switch ($expr) {
default:
echo "Hello World1";
break;
default:
echo "Hello World1";
break;
}
Вызовет fatal error.

Типизация скалярных величин и возвращаемых значений в PHP 7

Для пользователей хостинга, использующих PHP 7 это значит, что Вы можете указать тип передаваемых в функцию значений. Выглядеть это будет так:
function f1(int param1, bool param2){
}

Допустимые типы данных: int, float, string и bool.

По умолчанию типизация в PHP является не строгой. Для того, чтоб поменять режим работы, в начало файла нужно добавить строку declare(strict_types=1)

Важно отметить, что применение данного параметра повлияет на соблюдение типов именно в этом файле, а не там где объявлена процедура.

В случае, если процедуре/функцие будут переданы параметры не соответствующего типа, будет сформирована фатальная ошибка.

Так же можно описать тип возвращаемого значения функции. Делается это следующим образом:
function f2(string param1): bool{
}

Такие новшества не только позволяют увеличить скорость работы скриптов, а и обеспечивают большую безопасность их работы.

Комбинированный оператор сравнения.

Оператор <=> Выполняет функцию трех операторов <, ==, >. Причем, делает это операндами любых типов. -1 если левый операнд меньше, чем правый, 0 - если они равны и 1 - если левый операнд больше.

Раньше, чтоб выполнить такую операцию нужно было писать так:
return ($a < $b) ? -1 : (($a > $b) ? 1 : 0);
а теперь
retutrn $a <=> $b;

Правда красиво :)


Объединенный null оператор
Оператор ?? возвращает левое значение, если оно не null или правое, в противном случае. Причем, если левый операнд не существует, ошибка не возникает.

Пример использования return $a ?? $b;

Улучшена работа с фатальными ошибками

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

Особенность в том, что эти исключения являются объектами класса EngineExceptions, они отличаются от стандартных Exception. Это было сделано для совместимости. Чтоб старый код не начал работать по другому.

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

Тестируйте наш хостинг с PHP 7, проверяйте совместимость своих приложений и делитесь впечатлениями!

Попробуйте наш виртуальный хостинг с PHP 7 бесплатно. Перейти к выбору тарифа

Дата: 28.12.2015
Автор: Евгений
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA