Вышел PHP 5.3
По прошествии двух лет разработки вышел в свет релиз интерпретатора языка программирования PHP 5.3.0.
Наиболее интересные изменения:
- Значительное увеличение производительности. Например при сравнении одного из снапшотов php 5.3 и последнего стабильного релиза, было замечено увеличение производительности Drupal на 20%, Qdig на 2%, typo3 на 30%, wordpress на 15%, xoops - на 10%.
- Namespaces - изолированные от остального кода пространства имен для классов, функций и констант.
- "Late static binding" - привязка к вызываемому классу, вне контекста наследования (возможность получить имя класса, вызванного для выполнения статического метода).
- Mysqlnd - новый MySQL драйвер, работающий напрямую с MySQL, без использования libmysql.
- Из состава пакета удален модуль ext/msql, ext/ereg помечен как устаревший, ext/mhash заменен на ext/hash.
- Реализован метод __callStatic для организации перегрузки статических методов.
- Поддержка OpenID.
- Изменение техники округления чисел с плавающей точкой.
- Возможность определения в ini-файле блоков конфигурации с привязкой к директории и имени хоста, для получения функциональности подобной .htaccess
- XSLT профайлинг
- Многоплатформенный getopt()
- Поддержка Sqlite3 (расширение ext/sqlite3).
- Опционально включаемый циклический сборщик мусора.
- Новый синтаксис для определения строковых блоков, ограниченная поддержка GOTO, оператор "?:".
- Новые расширения: ext/phar, ext/intl, ext/fileinfo, ext/enchant.
- Поддержка замыканий и лямбда-функций.
- Возможность ведения подробного лога отправки почты через функцию mail(), что полезно для выявления источника спама в системах хостинга, на которых нередко пытаются рассылать спам через взломанные скрипты пользователей. Кроме ведения лога предусмотрена возможность включения в тело письма заголовка с уточнением из какого именно скрипта и от какого пользователя осуществлена отправка.
- Более 140 исправлений ошибок
В этом релизе также сделана работа по унификации внутреннего API языка.
Для пользователей, делающих обновление с 5.2 до 5.3.0 имеется руководство с детальным описанием различий между версиями.
Полное описание изменений доступно в ChangeLog.
Источник: OpenNet
01.07
пользователь удален
![[logo]](/site/images/logo.jpg)