Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Конструкция «??»

В ПХП 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
4 комментария
BOLVERIN 2014

а почему пишите PHP 7, а не PHP 5.7?

Евгений Степанищев (bolknote.ru) 2014

Комментарий для BOLVERIN:

Потому что эта версия PHP будет называться PHP 7: http://bolknote.ru/all/4195

Имярекъ 2014

Комментарий для BOLVERIN:

Потому что теперь это тренд!

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Имярекъ:

Да тренд-то тут причём? Причины почему версия называется 7, а не 6 вполне логичны: PHP6 должна была быть вполне определённой версией с вполне определёнными ожиданиями. На эту тему написаны статьи, вышли книги. Если теперь выпустить шестую версию, люди будут дизориентированы.