Що чекати в PHP 5.3. ?
Написав    Вівторок, 23 березня 2010, 16:32    PDF Друк e-mail
Розробник
Найбільш цікаві зміни:
  1. Значне збільшення продуктивності. Наприклад, при порівнянні одного з снапшоти php 5.3 та останнього стабільного релізу, було відмічено збільшення продуктивності Drupal на 20%, Qdig на 2%, typo3 на 30%, wordpress на 15%, xoops - на 10%.
  2. Namespaces - ізольовані від решти коду простору імен для класів, функцій і констант.
  3. Late static binding" - прив'язка до виклику класу, поза контекстом спадкування (можливість отримати ім'я класу, викликаного для виконання статичного методу).
  4. Mysqlnd - новий MySQL драйвер, що працює безпосередньо з MySQL, без використання libmysql.
  5. Зі складу пакету видалений модуль ext / msql, ext / ereg позначений як застарілий, ext / mhash замінений на ext / hash.
  6. Реалізований метод __callStatic для організації перевантаження статичних методів.
  7. Підтримка OpenID.
  8. Зміна техніки округлення чисел з плаваючою крапкою.
  9. Можливість визначення в ini-файлі блоків конфігурації з прив'язкою до директорії і імені хоста, для отримання функціональності подібної ".htaccess".
  10. XSLT профайлінг.
  11. Багатоплатформенний getopt ().
  12. Підтримка Sqlite3 (розширення ext/sqlite3).
  13. Опціональний garbage, що прибирає сміття.
  14. Новий синтаксис для визначення строкових блоків, обмежена підтримка GOTO, оператор "?:".
  15. Нові розширення: ext / phar, ext / intl, ext / fileinfo, ext / enchant.
  16. Підтримка замикань і лямбда-функцій.
  17. Можливість ведення докладного журналу відправки пошти через функцію mail (), що корисно для виявлення джерела спаму в системах хостингу, на яких нерідко намагаються розсилати пошту через зламані скрипти користувачів. Крім ведення логу передбачена можливість включення в тіло листа заголовка з уточненням з якого саме скрипта і від якого користувача здійснена відправка.
  18. Більше 140 виправлень помилок.
Також є відчутні зміни в роботі вже існуючих функцій та методів:
  1. Опції natsort (), natcasesort (), usort (), uasort (), uksort (), array_flip () і array_unique () більше не підтримують об'єкти як аргументи. Якщо вам потрібно працювати з об'єктами - вам доведеться перевести їх в масиви.
  2. Висновок var_dump тепер включає приватні члени.
  3. session_start повертає false, якщо старт сесії зазнав невдачі.
  4. clearstatcache не очищає realpath cache за замовчуванням.
  5. call_user_func () тепер передає $ this, навіть якщо викликає - є батьківський клас.
  6. opendir (), scandir () та dir () тепер використовую контекст по замовчуванню, якщо контекст не переданий їм як аргумент.
  7. Додана підтримка рідних функцій asinh (), acosh (), atanh (), log1p () і expm1 ().
  8. Stream wrappers тепер можуть бути використані як include_path ().
  9. Магічні методи get (), set (), isset (), unset () і call () тепер завжди повинні бути public та більше не можуть бути static
  10. toString () більше не може приймати аргументи.
  11. Введено новий магічний метод callStatic () та параметр previous в Exception:: construct ().
  12. SplObjectStorage тепер має підтримку ArrayAccess. Це так само дозволяє зберігати асоціативну інформацію з об'єктами в SplObjectStorage.
  13. ereg-функції викликають E_DEPRECATED, користуйтеся PCRE
  14. is_a () - більше не є DEPRECATED (застарілої)
  15. Наступні ini-директиви викликають E_DEPRECATED при старті
 - Define_syslog_variables
 - Register_globals
 - Register_long_arrays
 - Safe_mode
 - Magic_quotes_gpc
 - Magic_quotes_runtime
 - Magic_quotes_sybase

PHP не може бути зібраний без PCRE, Reflection, SPL
PHP не може бути зібраний без підтримки FastCGI CGI / FastCGI підтримують php.ini-файли в стилі. Htaccess (тобто per-dir)

  1. директиви ini-файлу zend_extension_debug і zend_extension_ts замінені на zend_extension
  2. zend.ze1_compatibility_mode видалена і викликає E_ERROR
  3. Додано новий користувацький механізм ініціалізації і конфігураційні змінні user_ini.filename і user_ini.cache_ttl

Спеціальні секції в іні-файлах

  1. [PATH = / opt / httpd / www.example.com /] і [HOST = www.example.com].
  2. Директиви визначені в цих секціях не можуть бути переписані користувацькими ini-файлами
  3. директива ini-файлу extension тепер може приймати повні шляхи
  4. значення по замовчуванню session.use_only_cookies змінено на 1

NOWDOC - те ж, що і HEREDOC, але з одинарними лапками навколо позначки «<'LABEL'

У цьому релізі також зроблена робота з уніфікації внутрішнього API мови.

Останнє оновлення ( Понеділок, 19 квітня 2010, 19:33 )
 

Відвідування

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterСьогодні160
mod_vvisit_counterВчора113
mod_vvisit_counterЗа цей тиждень160
mod_vvisit_counterЗа минулий тиждень1057
mod_vvisit_counterЦього місяця2830
mod_vvisit_counterПопереднього місяця5454
mod_vvisit_counterВсього547732

Кількість користувачів: 3
Ваш IP: 54.145.123.86
,
Сьогодні: серп. 19, 2017