Что нового в 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.


Вам понравился сайт?

Рассказать друзьям