PHP 7: що нового і коли вийде?
Веб-розробка – це одне з найголовніших напрямків у програмуванні. І кожен розробник, який працює в цій сфері і вважає себе справжнім програмістом, знайомий з такою мовою, як PHP. Дана мова програмування вже дуже давно і успішно застосовується у всьому світі для розробки сайтів та веб-додатків. І якщо раніше розробка велася на п'ятій версії мови, то тепер всі переходять на PHP 7. Дата виходу нової версії – 11 червня 2015 року. Варто відзначити, що це лише альфа-версія. Фінальна заплановано на кінець 2015 року.
Продуктивність PHP 7 збільшена в два рази в порівнянні з минулими версіями. Буде підтримуватися 64-бітна архітектура. Велика кількість фатальних помилок перетворилися в винятки. З'явився об'єднані оператор для порівняння значень. Підтримується скорочена конструкція use. Додано оператор, який перевіряє змінну її існування і повертає значення. Стало можливим вказувати масиви в якості значень констант, які оголошується за допомогою define. Синтаксис конструкторів з четвертої версії тепер є застарілим. В PHP 7 додані анонімні класи. Це короткий список змін. Далі будуть детально розглянуті поліпшення та нововведення мови. Дивно, що з виходу п'ятої версії до виходу сьомої пройшло 10 років.
Ідея полягала в реалізації цієї підтримки в самому ядрі PHP 7. Що б це дало? Розширення можливостей мови, звичайно. Стало б можливим використання смайлів в якості ідентифікаторів, а також розширилася б функціональність рядків на різних мовах. Ці плани були амбітними, але була велика кількість проблем. Було дуже важко і утомливо перенести величезну частину коду для того, щоб підтримувати "Юнікод". Це вплинуло на розробку інших можливостей і засмутило веб-розробників. Так, з часом інтерес до підтримки "Юнікод" почав падати, а шоста версія перестала розроблятися. Але все це вже стало історією, так як вийшла версія PHP 7. Що нового в ній?
З'явилася можливість групувати оголошення імпорту тих класів, які знаходяться в одному рядку і в єдиному просторі імен. Це допомагає заощадити кілька байт в коді. Додавання Null-коалесцентного оператора вирішує проблему, яка виникає тоді, коли програміст хоче присвоїти змінній значення, вже присвоєне іншої змінної. Комбінований оператор порівняння, який називають «космічним кораблем», допомагає виробляти трирівневе порівняння пари значень. Він дозволяє зрозуміти не тільки рівність цих значень або їх нерівність, але також те, яке з цих значень більше, якщо вони не рівні.
Нововведення
Отже, що ж нового з'явиться в новій версії мови? Розробники внесли такі зміни і додавання:Чому після PHP 5 не було PHP 6?
Для багатьох це загадка. Насправді все просто. Випуск «шістки» просто не відбувся. Головною її особливістю була підтримка символів Юнікод", так як у веб-розробці без цього нікуди.Ідея полягала в реалізації цієї підтримки в самому ядрі PHP 7. Що б це дало? Розширення можливостей мови, звичайно. Стало б можливим використання смайлів в якості ідентифікаторів, а також розширилася б функціональність рядків на різних мовах. Ці плани були амбітними, але була велика кількість проблем. Було дуже важко і утомливо перенести величезну частину коду для того, щоб підтримувати "Юнікод". Це вплинуло на розробку інших можливостей і засмутило веб-розробників. Так, з часом інтерес до підтримки "Юнікод" почав падати, а шоста версія перестала розроблятися. Але все це вже стало історією, так як вийшла версія PHP 7. Що нового в ній?
Поліпшення продуктивності
Раніше всі оновлення поліпшували продуктивність незначно, і для розробників головною метою був значний її зрушення в PHP 7 в кращу сторону. Вони змогли впоратися з цим. Тепер інтерес програмістів до движка Zend, на якому заснований мову PHP, зріс у кілька разів. Багато фахівців зазначили, що нова версія значно еволюціонувала і стала конкурентоспроможною. Адже лідерство стали завойовувати інші скриптові мови програмування.Движок Just In Time
Розробка PHP 7 почалася з дослідження, що дозволяє дізнатися більше про впровадження даного движка, який здатний компілювати код в машинний динамічно. Адже це дозволяє в кілька разів збільшити швидкодію коду під час його виконання. Хоча повністю впровадження ще не відбулося, але творці активно експериментують з цим. Якщо у них вийде впровадити в мову JIT-движок, то це дозволить підняти граничний рівень продуктивності ще вище.Дерево абстрактного синтаксису
Даний крок компіляції був запропонований російським програмістом. Дерево здатне забезпечити кілька переваг, у числі яких - великий потенціал для майбутньої оптимізації і більш ефективний розподіл пам'яті, що дозволить прискорити роботу PHP 7. Так, були описані можливості відкриття дерева у спеціальних додатках. Це може привести до появи якісних інструментів, які стануть вкрай корисними при знаходженні помилок. Тести, які виконувались на цих додатках, показали, що нова версія використовує вдвічі менше пам'яті в моменти обробки запитів. Незважаючи на те, що все в новій версії виглядає досить знайоме, вона сильно відрізняється від попередньої у плані продуктивності. Адже той факт, що споживається менше пам'яті, дає можливість малопотужним машин обробляти запити швидше. А це сприяє вибудовування навколо PHP своєрідних микросервисов.Асинхронне програмування
В PHP 7 це необхідний крок для того, щоб реалізувати цикл події. Це та частина коду, яка забезпечує перехоплення подій, пов'язаних з введенням і висновком, а також іншими завданнями асинхронного типу, які можуть працювати паралельно (доступ до мережі, файлів, баз даних). Якщо говорити простіше, це дасть можливість додати підтримку виконання таких завдань всередині єдиного запиту. Асинхронне програмування також дозволить у кілька разів збільшити продуктивність.Покращений синтаксис
PHP 7 – скриптова мова загального призначення. І для написання цих скриптів був поліпшений синтаксис. Тепер код стало легше писати, він виглядає більш приємно для розробників. Що було змінено?Виключення
Якщо раніше фатальні помилки приводили до повної зупинки виконуваного сценарію, то з появою винятків вони перехоплюються і обробляються. Тепер такі помилки, як виклик неіснуючої функції, не зупинять сценарій. Сгенерируется виключення, яке можливо обробити в окремому блоці коду. Це важлива особливість для серверів, так як фатальні помилки можуть приводити до необхідності перезавантаження, що сильно гальмувало роботу.Як встановити PHP 7
1. Необхідно завантажити останню версію з офіційного сайту. 2. З архіву витягується вміст в папку php. Ніякої інсталяції не потрібно. 3. Змінюється конфігураційний файл сервера (мається на увазі Apache). 4. Параметр DirectoryIndex повинен бути змінений на index.html. 5. Сервер перезавантажується, а потім потрібно через браузер зайти на сторінку index.php і переконатися, що все працює так, як потрібно. В принципі, процес не надто змінився в порівнянні з минулою версією. Встановлення PHP 7 в Linux дещо відрізняється, так як потрібно завантажувати з репозиторіїв пакети, а потім за допомогою спеціальних команд здійснювати інсталяцію.Висновок
Звичайно, всі останні зміни в мові програмування PHP стали істотними. Більшість з них були зроблені із-за конкуренції з Facebook і її мовою програмування Hack, який почав перехоплювати лідерство. Саме це дало поштовх до розвитку. За це можна подякувати Марка Цукерберга і його компанію. Адже це принесло велику користь спільноті PHP-розробників. Тепер веб-розробка вийшла на якісно новий рівень. Продуктивність була збільшена і ще буде зростати, а отже, конкуренція з іншими скриптовими мовами програмування поки буде витримана. Адже їм ще належить довгий шлях, щоб зрушити з місця гіганта PHP.Читайте також
Компютер і інтернет
JavaScript: typeof - необхідність чи нові можливості
Компютер і інтернет
Розробка додатків для iOS: з чого почати?
Компютер і інтернет
Що таке Паскаль. Програмування на Паскалі
Компютер і інтернет
Як зробити в CSS жирний шрифт
НАУКА
Що таке коментарі в HTML?
Компютер і інтернет
Як визначити CMS, яка використовується для управління сайтом?
Компютер і інтернет
Як включити макроси в Excel. Макроси в Excel: приклади
Компютер і інтернет
Створення ігор на Android за допомогою спеціальних програм