Розробники випустили восьму версію мови програмування PHP
Група ентузіастів на чолі з данським програмістом Лердорформ Расмусом випустили восьму версію скриптової мови програмування PHP. Реліз відбувся 26 листопада 2020 року, майже на рік раніше, ніж планувалося. У порівнянні з попередньою версією PHP 8 отримав кілька серйозних поліпшень, включаючи застосування JIT-компілятора і істотне доопрацювання «синтаксичного цукру», що дозволяє зменшити обсяг шаблонного коду.
Розробка мови програмування PHP ведеться з 1995 року. Основною сферою його застосування є розробка динамічних веб-сайтів з виконанням коду на серверній стороні. При цьому доступна і компіляція програм, написаних на PHP, для виконання на UNIX-операційних системах і в середовищі Windows. Істотний вплив на синтаксис PHP зробили кілька мов програмування, включаючи C++ і Java.
Найбільш істотною зміною у версії PHP 8 стало використання JIT-компілятора. Він дозволяє переводити код програми в машинний код в режимі реального часу безпосередньо під час виконання програми. Таким чином для деяких випадків вдається підвищити швидкість виконання додатків. У випадку з PHP 8 найбільший приріст швидкості за допомогою JIT-компілятора досягається при виконанні математичних операцій.
Ще одним практичним поліпшенням в PHP 8 стало додавання виразу match. В цілому воно працює аналогічно традиційному switch, однак, на відміну від останнього, використовує суворе порівняння значень. При цьому результат роботи match може бути збережений в змінну і використаний надалі або повернутий, наприклад, за допомогою функції echo. На відміну від switch, вираз match працює з однорядковими виразами, які не потребують конструкції break.
У PHP 8 також з’явилися іменовані аргументи для використання в бібліотеках або асоціативних масивах. Це нововведення, на відміну від PHP 7, використовує самодокументовані аргументи, що дозволяє використовувати їх в будь-якому порядку, пропускаючи необов’язкові параметри. Це позитивно позначається на читаності коду і його обсязі, особливо якщо мова йде про використання бібліотек, що працюють з булевими параметрами.
Ще в PHP 8 з’явилася можливість використовувати структурні метадані з нативним синтаксисом PHP замість анотацій PHPDoc. Завдяки цьому, наприклад, при написанні метаданих можна буде використовувати підказки середовища розробки. Крім того, в PHP 8 стали можливими одночасне оголошення та ініціалізація властивостей в конструкторі класу. В деякі випадках це дозволяє скоротити обсяг коду втричі.
Нарешті, ще однією істотною зміною в PHP 8 стало використання нового оператора Nullsafe, який записується занком ? після оброблюваного елемента. Це позбавляє, наприклад, від необхідності прописувати перевірку на null для кожної змінної, використовуючи замість цього послідовність викликів з оператором Nullsafe. У цьому випадку, якщо хоча б один елемент повертає значення null, вся послідовність поверне null.
З більш повним списком нововведень в PHP 8 і документацією по ним можна ознайомиться в повідомленні про реліз.
У середині 2018 року британський Розробник Ділан Бітті представив нову динамічну мову програмування Rockstar. Його синтаксис натхненний відомими рок-піснями 80-х років.