Вийшов у світ очікуваний реліз PHP 7 версії поки що Alpha, відразу за версією 5.6 пішла гілка сьомої версії.
Реліз відбувся 11 червня, фінальна версія планується на листопад 2015 року. Проте вже зараз можна спостерігати зміни, на які слід звернути увагу. Тут відзначені лише деякі з них, з повним списком ви зможете ознайомитися перейшовши по посиланню, які будуть залишені в кінці посту.

  • Поліпшення продуктивності. Як стверджують розробники, PHP 7-ї версії став працювати в два рази швидше у порівнянні з версією PHP версії 5.6. Якщо це дійсно так, то ця новина дійсно радує.
  • Реалізована підтримка скороченою записи конструкції use:
    use Symfony\Component\Console\{
    Helper\Table,
    Question\ChoiceQuestion as Choice,
    Question\ConfirmationQuestion,
    };
  • Хороша ідея, зробити запис коротше при роботі з тернарными операторами, для простих перевірок змінних, і присвоєння їм значень за замовчуванням. І ось з’являється оператор “??” (Null coalescing operator). Тепер перевірити наявність змінної і повернути її значення або значення за замовчуванням можна за допомогою запису:
    $action = $_POST[‘action’] ?? ‘index’;

    Це теж саме, що і ця запис:

    $action = isset($_POST[‘action’]) ? $_POST[‘action’] : ‘index’;

  • Додана підтримка рядків довжиною >= 2^31 байт для 64-бітних версій.
  • З’явився метод Closeure::call(object $to[, mixed $parametrs]), дозволяє викликати анонімну функцію з довільним $this.
  • З’явився синтаксис \u{xxxxxx} для рядків, який дозволяє робити записи довільних Unicode-символів у рядках.
  • Тепер констант оприлюднені через define() так само можна задавати масиви, ця можливість дуже до речі.
  • З’явився новий оператор порівняння, записується так , раніше відомий як «spaceship operator». Умова $a $b може повернути -1, 0 або 1 у разі якщо значення змінної $a менше, дорівнює або більше значення змінної $b відповідно.
  • З’явилася можливість використання зарезервованих ключових слів в якості імен методів:
    $object::new(‘foo’, ‘bar’)->forEach(function($index, $item) {});
  • Запис конструктора класу в стилі PHP 4, відтепер буде вважатися застарілою. Для пояснення це коли метод-конструктор класу називався так само, як і сам клас.
  • Звернення до не статичним методам, за допомогою статичних викликів (::) так само вважаються застарілими.
  • З’явилася константа PHP_INT_MIN
  • Виключена INI директива «asp_tags», у разі спроби її включення відтепер буде виникати фатальна помилка. Відповідно видалена підтримка тегів звичних для ASP (<%).
  • Виключена INI директива «always_populate_raw_post_data», змінна $HTTP_RAW_POST_DATA тепер не буде доступна, а замість неї слід використовувати дескриптор вхідного потоку php://input.
  • Ітерація по масиву за допомогою циклу foreach відтепер не зрушує внутрішній покажчик масиву, який можна отримувати і змінювати такими функціями як current(), next(), reset() і аналогічних функцій. Цикл foreach тепер буде працювати з копією масиву.
  • Побітовий зсув допомогою оператора зсуву (<<) на кількість біт, в разі якщо буде перевищувати кількість біт в integer тепер буде повертати в якості результату 0. Варто відзначити, що раніше значення результату залежало від архитектцуры процесора. За аналогією, правий зсув буде повертати 0 або -1 залежно від вихідного знака числа (старший біт відповідає за знак, не впливає).
  • Тепер рядки, які містять шістнадцяткові числа завжди будуть оброблятися як рядки, а не сприйматися як числа. Приміром, раніше умова is_numeric(«0xFF») повертало true, тепер аналогічні перевірки будуть повертати false.
  • Виключена підтримка модифікатора /e у PCRE, за допомогою функції preg_replace_callback() може бути реалізована аналогічна функціональність.
  • Як відомо, раніше контроль типів був можливий тільки для класів, інтерфейсів, масивів, і типу callable, тепер же додана підтримка type-hint-ів для скалярних типів.
  • Виключені застарілі і не підтримувані SAPI і розширення.
  • Посилання на докладну інформацію: php.net, github.com

    Додав: htmaker, 25.06.2015 р.
    (Ще не оцінили)

    Завантаження…

    Діліться з друзями:

    См. також:


    Пісочниця для PHP
    Рубрика: PHP, Інструменти

    Конфіг файли
    Рубрика: PHP

    Установка XCache в Linux CentOS
    Рубрика: Linux, PHP

    Використання SOAP в PHP
    Рубрика: PHP

    Встановлення PHP Soap на CentOS
    Рубрика: Linux, PHP

    Обсяг даних в зручному форматі на PHP
    Рубрика: PHP

    Транслітерація символів на PHP
    Рубрика: PHP

    Як перетворити URL-рядок в масив?
    Рубрика: PHP

    Добірка шаблонів регулярних виразів
    Рубрика: PHP