Що нового в php 5.3?
(044) 391-40-82
Контакти
Головна → Статті → Що нового в php 5.3?
23.09.2013

Що нового в php 5.3?


Що нового в php 5.3?

Для розробників додатків на PHP вихід php 5.3 став практично революційним. Найбільша зміна в інтерпретаторі мови програмування за останні 10 років принесла нові можливості програмістам. Так, з'явилося багато сучасних «фішок». У той же час, додатки, написані на більш ранніх версіях php, потрібно було модифікувати. Втім, воно було того варте.

Что же изменилось?

До появи php версії 5.3 багато функцій роботи з масивами, як аргументи могли приймати об'єкт і масив, даючи бажаний результат. У php 5.3 ці функції можуть приймати тільки масиви. Таким чином, якщо необхідно звернутися до властивостей об'єкта, використовуючи функції natsort, natcasesort, usort, uasort, uksort, array_flip і array_unique, то потрібно перетворити об'єкти в масиви.

Крім цього, до цієї версії php методи __ call (), __ get (), __ set (), __ isset () і __ unset () можна було повідомляти, як захищені статичні, публічні, приватні і так далі. Тепер ці методи - тільки публічні. Багато функції були видалені. Це session_register (), call_user_method_array (), ereg_replace (), session_unregister (), magic_quotes_runtime (), split () і деякі інші.

Деякі директиви в PHP.INI теж «скасовуються». Вони викликають E_DEPRECATED - попередження при активації. Йдеться про директиви safe_mode, define_syslog_variables, magic_quotes_gpc, register_globals і подібних.

GOTO і NAMESPACE стали «зарезервованими», тобто їх не можна використовувати як назв класів, функцій ...

Реліз php версії 5.3 розроблявся приблизно два роки. Найбільш відчутною зміною стало істотне зростання продуктивності. Так, на різних CMS продуктивність зросла від 10% до 30%.

Namespaces відтепер дозволяє ізолювати простір імен для функцій, класів і констант. Late static binding прив'язує до класів, які викликаються, поза контекстом успадкування.

Також використовується MySQL-драйвер Mysqlnd, який працює безпосередньо з MySQL без «посередника» libmysql. Щоб організувати перевантаження статичних методів реалізовується метод __ callStatic. Впроваджується підтримка OpenID, змінюється техніка округлення чисел з так званої «плаваючою точкою». Стає можливим визначити в ini-файлі блоки конфігурації, використовуючи прив'язку до імені хоста і директорії. Таким чином, можна отримати функціональність. Htaccess. З'являються нові розширення, XSLT профайлинг, поліплатформенний getopt (), підтримка лямбда-функцій, замикань і багато іншого.

Найбільш цікаві зміни, як вважають багато хто, це адекватна підтримка lambda-функцій і closures, а також новий драйвер для MySQL.


Вам сподобався сайт?

Розповісти друзям