PHP - изменения (обновления)
Войти

PHP - изменения (обновления)

<span class="zag_1">До PHP 5.3</span> <b>$str1{0}</b> — синтаксис получения символа строки <span class="zag_1">PHP 5.3</span> <b>?:</b> — сокращение тернарного оператора <b>$func = function(){};</b> — анонимные (лямбда) функции <b>method()->var</b> — получение объекта из метода/функции <b><<<\'DOC\'</b> — поддержка NOWDOC <b>namespace</b> — поддержка пространств имен <b>__DIR__</b> — новая магическая константа <b>$class::$foo</b> — динамичное указание класса <b>const</b> — ключевое слово для создания констант вне классов <b>static::method()</b> — статическое связывание <b>goto hell;</b> — оператор goto <b>__callStatic(), __invoke()</b> — магические методы <span class="zag_1">PHP 5.4</span> <?= — короткая запись вывода на экран работает всегда <b>[1,2]</b> — запись массива, без слова array <b>trait Class {}</b> — примеси (трейты) <b>foo()[0]</b> — быстрое получение элемента массива <b>(new Foo)->method()</b> — доступ к элементу объекта при его создании <b>Class::{\'foo\'}()</b> — динамичное указание метода <b>callable</b> — новый тип для аргументов функции/метода <b>@</b> — улучшена производительность <span class="zag_1">PHP 5.5</span> <b>[1,3,4][2], "foobar"{2}</b> — разыменования только-созданных массивов и строк <b>empty()</b> — можно применять к результатам функций и выражений <b>list()</b> в foreach <b>finally</b> — в конструкции try/catch Class::class — для получение имени класса в пространствах yield — создание генераторов API для хэширования паролей <span class="zag_1">PHP 5.6</span> <b>const PLUS = 1 + 2;</b> — скалярные выражения в константах/свойствах/аргументах функции <b>const ARR = [\'a\', \'b\'];</b> — константа может хранить массив <b>func( ...$args ) или func( ...[2, 3] )</b> — неизвестное число аргументов функции или распаковка массива с помощью \'...\' (splat оператор) <b>**</b> — оператор возведения в степень use function и use const — импорт функций и констант в пространство <span class="zag_1">Куда делся PHP 6?</span> <span class="zag_1">PHP 7</span> <b>$a ?? \'\'</b> — одновременная проверка isset и получение значения <b>$a <=> $b</b> — одновременное выполнение трех сравнений: больше, равно или меньше. <b>define(\'FOO\', [1,2]);</b> — передача массива константе через define() use name\\space\\{A, B, C as c}; — группировка импорта при помощи use int, float, bool — новые типы для аргументов функции/метода int, float, bool, array — указание возвращаемых типов для функции/метода foo()(), $a::$b::$c, $$foo->bar — единый синтаксис переменных: СЛЕВА НАПРАВО foreach — изменена логика работы $class = new class{} — анонимные классы yield ... return 99; — возврат (return) выражений в генераторах yield from gen() — делегирование генераторов Еще новинки PHP 7.0 <span class="zag_1">PHP 7.1</span> <b>void</b> — возвращаемый тип <b>iterable</b> — новый псевдо-тип <b>null</b> — тип передаваемых/возвращаемых значений <b>{-1}</b> — отрицательное значение смещения в строках <b>[\'key\'=>$a] = [\'key\'=>\'Значение\']</b> — поддержка ключей и новый синтаксис list() Область видимости констант в классах Заметки по PHP 7.1 <b>Ссылки по теме:</b> <a href="https://wp-kama.ru/id_6310/sintaksis-php-5-3-5-4-5-5-5-6-7-chto-novogo.html#$str1-0-sintaksis-polucheniya-simvola-stroki">Обновления PHP</a>
Теги:
php