PHP 5.6: Основни нововъведения
PHP 5.6 заключава развитието на 5.x преди скока на ядрото в PHP 7: вариадични параметри, разопаковане ... при извикване, оператор **, use function / use const, константни изрази, phpdbg. Внимавайте с приоритета на **, по-строгото json_decode, TLS и крипто разширенията.
Съдържание
- Вариадика
- Разопаковане
- Оператор
** use function/use const- Константни изрази
- phpdbg
- Рецепти
- Обратна несъвместимост
- Deprecated
- Друго
Вариадика
function sum($first, ...$rest)
{
return $first + array_sum($rest);
}
Разопаковане
$args = array(1, 2, 3);
echo sprintf('%d-%d-%d', ...$args);
Оператор **
Дясно асоциативен: 2 ** 3 ** 2 е 2 ** (3 ** 2).
use function / use const
Явно импортиране на функции и константи от друго пространство от имена.
Константни изрази
Позволени изрази в декларации там, където ръководството ги описва — по-малко магически числа.
phpdbg
Интерактивна стъпкова отладка за CLI; за HTTP често остават Xdebug и логове.
Рецепти
За сравнение на MAC използвайте hash_equals() (добавена в 5.6).
Обратна несъвместимост
migration56 incompatible: ** с унарни оператори, JSON, mcrypt/gd/openssl, foreach по свойства, TLS.
Deprecated
$HTTP_RAW_POST_DATA и др. — migration56 deprecated.
Друго
Проверете HTTPS клиенти за валидни сертификати и SNI.
Обобщение
След стабилизиране на 5.6 следващата голяма стъпка е PHP 7.0 — типове, Throwable, производителност; продължението е в гайда 7.0.