- •Історія розвитку php
- •Можливості php
- •Движок мови php
- •Нововведення в php5 Нова об’єктна модель Zend 2.0
- •Покращена продуктивність
- •Нові директиви
- •Нові механізми роботи з потоками
- •Основи:
- •Нове розширення MySqLi (вдосконалена MySql):
- •Покращена підтримка xml в php5
- •Синтаксис php Загальні поняття
- •Коментарі в php скриптах
- •Типи даних в php
- •Вирази в php
- •Користувальницькі функції в php
- •Переваги та недоліки php
- •Традиційність
- •Простота
- •Ефективність
- •Безпека
- •Гнучкість
- •Безкоштовне розповсюдження
- •Недоліки php
- •Критика php
- •Список використаних джерел
Нововведення в 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 надає новий об’єктно-орієнтований інтерфейс і підтримує ітератори.
