Не так давно вышла новая пятая версия
PHP - PHP5. Рассмотрим основные
изменения.
Новая объектная модель Zend 2.0
Zend 1.0, а также более ранние версии
"движка" PHP, нерационально
использовали память, поскольку объекты
обрабатывались как примитивные типы
(переменные, списки), то есть
посредством копирования. В новой
объектной модели, которая используется
в Zend 2.0 используется технология
объектных дескрипторов,
напоминающая аналогичную технологию
в Java. Теперь объекты доступны только
через дескрипторы, позволяя экономить
память и получать полный контроль над
созданием и дублированием объектов. О
новых возможностях объектно-
ориентированного программирования в
PHP5 вы можете ознакомиться в
специальном разделе.
Улучшенная производительность
Zend Engine 2 использует новый
менеджер памяти. Два главных его
преимущества: улучшенная поддержка
многопоточных сред (распределенные
блоки не нуждаются во взаимных
исключительных блокировках) и то, что
после каждого запроса намного
эффективнее освобождаются
распределенные блоки памяти.
Изменение коснулись
производительности встроенных
функций PHP. По различным оценкам,
увеличение производительности
достигает 40%.
Новые директивы
В конфигурационном файле PHP - php.ini
теперь доступны новые директивы:
session.hash_function - выбор функции
хеширования сессий (SHA1 или MD5);
session.hash_bits_per_character -
определяет, какое число бит в символе
используется при хешировании сессий
(от 4 до 6);
register_long_arrays - включает/
отключает регистрацию длинных
массивов;
mail.force_extra_parameters -
дополнительные почтовые параметры;
zend.ze1_compatibility_mode - включение
совместимости с Zend Engine 1 (PHP4).
Новые механизмы работы с потоками
Поддержка потоков претерпела
множество изменений:
Более высокая производительность
функцийreadfile(), fpassthru() и
некоторых других стандартных функций
для работы с потоками;
Новая функция stream_socket_client() -
более мощный аналог сетевой функции
fsockopen();
Новая функция stream_socket_accept() -
принимает соединения клиента;
Новая функция stream_socket_get_name()
- получает локальное или удаленное имя
сокета;
#новости


Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев