После около двух лет разработки выпущен релиз интерпретатора языка программирования PHP 5.3.0, сообщает opennet.ru. Наиболее интересные изменения: - Значительное увеличение производительности. Например при сравнении одного из снапшотов 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 исправлений ошибок. Список несовместимостей и особенности миграции с прошлых версий PHP описаны в документе "Migrating from PHP 5.2.x to PHP 5.3.x". Например, из комплекта поставки удалены расширения ext/mhash (см. ext/hash), ext/msql, ext/pspell (см. ext/enchant), ext/sybase (см. ext/sybase_ct); перемещены в PECL: ext/ming, ext/fbsql, ext/ncurses, ext/fdf; удалена поддержка режима совместимости zend.ze1; у некоторых функций ужесточились требования к передаваемым параметрам. Пресс-Релиз