Конструкция «??»
В ПХП 7 появилась, наконец, конструкция, которая должна была быть в языке с первых версий:
echo $_GET['var'] ?? 'default'; // PHP 7
echo isset($_GET['var']) ? $_GET['var'] : 'default'; // PHP 5.6 и ниже
Очень похоже на тернарный оператор без средней части, появившийся в версии 5.3, но с одним отличием: проверяется не ложь или истина, а существование.
Теперь в ПХП можно писать намного более эмоционально:
echo X-D ? :-D ??!! O_o; // это работает в PHP 7, я даже могу сказать что это значит.
Может кому-то пригодится, я собирал у себя на «Маке» текущую версию ПХП 7 при помощи следующих команд:
git clone https://github.com/php/php-src.git
cd php-src
brew install re2c
brew info bison27
PATH=/usr/local/opt/bison27/bin/:$PATH
./buildconf
./configure --prefix=/opt/php-5.7 --disable-all
make
make install
а почему пишите PHP 7, а не PHP 5.7?
Комментарий для BOLVERIN:
Потому что эта версия PHP будет называться PHP 7: http://bolknote.ru/all/4195
Комментарий для BOLVERIN:
Потому что теперь это тренд!
Комментарий для Имярекъ:
Да тренд-то тут причём? Причины почему версия называется 7, а не 6 вполне логичны: PHP6 должна была быть вполне определённой версией с вполне определёнными ожиданиями. На эту тему написаны статьи, вышли книги. Если теперь выпустить шестую версию, люди будут дизориентированы.