Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
184 Кб
Скачать
☆

Нововведення в php5 Нова об’єктна модель Zend 2.0

Zend 1.0, а також більш ранні версії “движка” PHP, нераціонально використовували пам’ять, оскільки об’єкти оброблялися як примітивні типи (змінні, списки), тобто через копіювання. У нової об’єктної моделі, яка використовується в Zend 2.0 використовується технологія об’єктних дескрипторів, що нагадує аналогічну технологію в Java. Тепер об’єкти доступні лише через дескриптори, дозволяючи економити пам’ять і отримувати повний контроль над створенням і дублюванням об’єктів. Про нові можливості об’єктно-орієнтованого програмування в PHP5 ви можете ознайомитися в спеціальному розділі ООП в 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() – отримує локальне або віддалене ім’я сокета

  • нова функція stream_copy_to_stream() – дозволяє копіювати потік в потік

  • нова функція stream_get_line() – дозволяє читати інформацію з потоку до певного символу або рядка

  • підтримка динамічного завантаження OpenSSL

  • можливість роботи функцій opendir(), stat(), unlink() з FTP – з’єднанням

Нові функції PHP5

У PHP5 включена досить велика кількість нових функцій:

  • функції для роботи з масивами (array)

  • нові функції для роботи з базою даних interbase

  • фунції розширення iconv

  • функції для роботи з потоками (streams)

  • функції, які використовуються для роботи з датами і часом

  • функції для роботи з рядками (strings)

Нові розширення

Розширення Tidy:

PHP 5 включає підтримку дуже корисної бібліотеки Tidy (http://tidy.sf.net/). Вона дозволяє розробникам PHP розбирати, діагностувати, чистити і відновлювати документи HTML. Розширення Tidy підтримує як функціональний, так і об’єктно-орієнтований інтерфейс, і її API використовує механізм винятків РНР 5.

Розширення Perl:

Хоча й не включене за умовчанням в РНР 5, розширення Perl дозволяє вам викликати Perl-скрипти, використовувати об’єкти Perl і використовувати інші функціональні можливості Perl прямо з коду PHP. Це нове розширення можна знайти в репозиторії PECL http://pecl.php.net/package/perl/.

Розширення SQLite:

Підтримка SQLite (http://www.sqlite.org/) Спочатку була введена в PHP 4.3.x. Це вбудована бібліотека SQL, яка не вимагає SQL сервера і дуже підходить для додатків, які не вимагають масштабованих SQL-серверів, або якщо ви розгортаєте свій додаток у провайдера, який не надає вам доступ до SQL-сервера. Всупереч назві, SQLite дуже багата можливостями і підтримує транзакції, вкладені вибірки, представлення (view) і великі DB-файли. Тут це згадано, як можливість PHP 5, тому що підтримка SQLite була введена досить в пізніх релізах PHP 4, і оскільки PHP 5 надає новий об’єктно-орієнтований інтерфейс і підтримує ітератори.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]