Огляд PHP і MySQL

  1. Компоненти PHP-додатки
  2. PHP
  3. Apache
  4. SQL і реляційні бази даних
  5. сумісність
  6. Запит даних веб-сторінки
  7. Переваги використання PHP і СУБД MySQL
  8. вартість
  9. Зручність у використанні
  10. Використання коду PHP, вбудований в код HTML
  11. межплатформенная сумісність
  12. стабільність
  13. Велика кількість розширень
  14. Швидка реалізація нових засобів

base01

56 Увага! Даний урок застарів!
Переходьте до нового уроку про те, як працює PHP .

У цій статті міститься вступне опис системи PHP і СУБД MySQL (система управління базами даних), а також описано взаємодію цих програмних продуктів. У ній наведено найзагальніші відомості про зазначені інструментальних засобах, зокрема, мова йде про те, для чого вони призначені і яке місце займають у порівнянні з аналогічними програмними засобами.

Крім того, значна частина цієї статті присвячена опису досить численних переваг використання системи PHP і СУБД MySQL, взятих окремо або застосовуваних в поєднанні один з одним. Наведені тут відомості дозволяють підготувати попереднє обгрунтування вибору зазначених програмних продуктів в якості основи для створення додатків.

Компоненти PHP-додатки

Для створення і розвитку динамічних веб-сторінок вам потрібно розуміти і використовувати різні типи технологій. Розробка динамічних веб-сторінок включає три основних компоненти: веб-сервер, мова програмування сценаріїв, виконуваних на стороні сервера, і базу даних. Розробляючи веб-додатки із застосуванням PHP, треба розуміти всі три компоненти. Ми почнемо з елементарних відомостей про історію і призначення Apache (веб-сервер), PHP (мова програмування сценаріїв, виконуваних на стороні сервера) і MySQL (база даних). Це допоможе вам зрозуміти, як вони вписуються в загальну картину розробки веб-додатків.

PHP

Мова PHP народився з потреби розробляти і підтримувати веб-сайти, які мають динамічної клієнт-серверної функціональністю. У 1994 році Расмус Лердорф (Rasmus Lerdorf) розробив набір сценаріїв з відкритим вихідним кодом на мові Perl, які згодом були переписані на мові C і перетворилися в те, чим є сучасна мова PHP.

Мова PHP широко поширений і сумісний з усіма основними операційними системами. Він простий у вивченні, що робить його ідеальним інструментом для початківців веб-програмістів.

Apache

Apache - це веб-сервер, який перетворює запити браузера в кінцеві веб-сторінки і знає, як обробляти програмний код PHP. PHP - це всього лише мова програмування, і без підтримки веб-сервера, наприклад Apache, у користувачів Мережі немає ніякої можливості отримати сторінки, що містять програмний код PHP.

Apache - не єдиний доступний веб-сервер. Інший популярний веб-сервер - Internet Information Services (IIS) компанії Microsoft, що поставляється з операційною системою Windows 2000 і її подальшими версіями. Відмінності між Apache і IIS зводяться, головним чином, до особистих вподобань, хоча Apache має безперечні переваги, будучи вільно поширюваним з відкритим вихідним кодом і необмеженої ліцензією.

Ми будемо працювати з поточною версією - Apache 2.x, хоча версія 1.3 теж досить часто використовується. Веб-сервер IIS простіше інтегрується з Active Directory - новітньою системою аутентифікації компанії Microsoft, - але застосовується, в основному, для організації внутрішніх веб-сайтів компаній.

Такі веб-сервери, як Apache і IIS, розроблялися для підтримки HTML-файлів, тому для обробки PHP-коду їм потрібно знати, як це робиться. Веб-сервер Apache використовує систему управління модулями, яка дозволяє нарощувати функціональність шляхом підвантаженими розширень. Веб-сервер IIS використовує аналогічну концепцію, яка називається ISAPI (Internet Server Application Program Interface - інтерфейс прикладного програмування інтернет-сервера). Обидві вони дозволяють обробляти PHP-код швидше, ніж це робилося раніше, коли веб-сервер при кожному запиті сторінки з PHP-кодом запускав окремий процес для звернення до PHP.

Сьогодні використовуються дві основні версії Apache: 1.3 і 2. Веб-сервер Apache 2 повністю переписаний і підтримує модель управління потоками виконання. Потоки дозволяють одночасно вирішувати кілька завдань в рамках одного процесу. Це підвищує швидкість роботи і знижує потребу в ресурсах. На жаль, PHP поки ще не повністю сумісний з багатопотокової моделлю виконання. Оскільки версія Apache 2 з'явилася досить давно, можна вважати її досить стабільною для використання в розробках і експлуатації.

Перевага Apache - і його здатність працювати в операційних системах, відмінних від Windows, що підводить нас до розмови про сумісність. Але перед цим ми також коротко розглянемо реляційні бази даних і мова SQL.

SQL і реляційні бази даних

Мова структурованих запитів (Structured Query Language, SQL) - найпоширеніша мова, призначений для запису, вилучення, оновлення та видалення інформації в системах керування базами даних. Реляційна означає, що база даних відповідає реляційної моделі, і відноситься до схеми і принципам зберігання даних. Схема описує структуру даних, що зберігаються.

Реляційна база даних являє собою набір таблиць, проте досить часто до складу бази даних входять і інші елементи, що дозволяють додатково впливати на організацію і структуру даних відповідно до певним набором вимог.

MySQL - це багата вільно поширювана система керування базами даних. MySQL почали розробляти в 1990-х роках, оскільки потреба в розумному управлінні комп'ютерною інформацією постійно росла. Розробники ядра MySQL намагалися вирішити цю проблему за допомогою маленької і простий бази даних mSQL. Коли з'ясувалося, що mSQL не справляється з усіма завданнями, які творцям хотілося на неї покласти, вони створили більш потужну базу даних, яка перетворилася в MySQL.

MySQL підтримує кілька різних механізмів бази даних (database engines). Механізми бази даних визначають, як MySQL в даний момент обробляє збереження і вилучення даних. Як наслідок, кожен механізм зберігання має власний набір можливостей і переваг. Згодом наявні механізми бази даних стають все більш потужними і швидкими.

У таблиці нижче вказано, коли в MySQL додавалися різні функціональні можливості:

Основні версії MySQL Версія Можливості 3.23

Як механізм за замовчуванням додано механізм бази даних MyISAM. Ефективно обробляє великі обсяги даних. Дебютував механізм бази даних InnoDB для безпечного виконання транзакцій і підтримки зовнішніх ключів (foreign keys). Зовнішні ключі дозволяють організувати однозначні взаємини між таблицями бази даних

4.0

З'явилася підтримка об'єднань (union) в запитах. Об'єднання дозволяють поєднати результати двох запитів. Стало можливим змінювати конфігурацію (настройки) без перезапуску бази даних

4.1

З'явилася нова команда help для клієнтів бази даних. Додана підтримка різних неназваних оглядів (unnamed views), також званих підзапитах (subquery). Неіменовані огляди дозволяють розглядати запит як окрему таблицю всередині іншого запиту. З'явилася підтримка наборів символів Юнікоду

5.0

Додані тригери (triggers), збережені процедури (stored procedures), механізми забезпечення посилальної цілісності (constraints) і курсори (cursors).

Тригер дозволяє запускати виконання деякого коду в базі даних при певному подію, наприклад при вставці даних в таблицю. Збережені процедури - це спосіб визначення і запуску програм всередині бази даних. Механізми забезпечення посилальної цілісності дають можливість визначати правила додавання і зміни записів в базі даних. Курсори дозволяють запускати виконання деякого коду в базі даних для кожного рядка, що відповідає запиту

5.1

Додані механізми секціонування (partitioning) і планування (scheduling), інтерфейс модулів розширення (Plug-in API) і механізм порядкової реплікації (row-based replication).

Механізм секціонування дозволяє розбивати фізичні сховища великих таблиць на основі певних правил. Зазвичай застосовується для прискорення продуктивності при роботі з такими великими таблицями, як архіви. Механізм планування дає можливість запускати програмний код, що знаходиться в базі даних, в певні моменти часу.

Інтерфейс модулів розширення надає можливість розширювати або звужувати функціональність сервера MySQL без його перезапуску. Механізм порядкової реплікації дозволяє копіювати дані між серверами з застосуванням низькорівневих операцій.

Діючою версією MySQL вважається остання доступна версія 5.x. MySQL 5.x по продуктивності порівнянна з будь-якої з набагато більш дорогих баз даних рівня підприємства, наприклад Oracle, Informix, DB2 (IBM) або SQL Server (Microsoft). Таке підвищення продуктивності стало можливим завдяки зусиллям багатьох талановитих розробників відкритого вихідного коду, а також тестування в співтоваристві. Механізм бази даних за замовчуванням MyISAM прекрасно справляється з основними завданнями баз даних, пов'язаних з веб-додатками.

сумісність

Такі веб-браузери, як Safari, Firefox, Opera, Google Chrome і Internet Explorer, призначені для обробки документів у форматі HTML, і їм все одно, під керуванням якої операційної системи працює веб-сервер.

Apache, PHP і MySQL розраховані на підтримку багатьох операційних систем, тому ви не обмежені вибором якоїсь певної операційної системи для сервера або клієнта. Від занепокоєння з приводу сумісності програмного забезпечення ви позбавлені.

Запит даних веб-сторінки

Буває непросто зрозуміти, як всі ці складові частини працюють разом. Якщо веб-сервер виявляє PHP-код, він намагається визначити, чи не є даний файл файлом PHP-сценарію. Якщо це так, файл передається для обробки інтерпретатору PHP без будь-якої участі з боку браузера. Але якщо в HTML-файлі є посилання на зовнішній CSS-файл, то перш ніж відобразити сторінку, браузер окремо пошле запит, щоб отримати цю таблицю стилів.

Обробка PHP-коду сервером називається обробкою на стороні сервера. Запитуючи веб-сторінку, ви запускаєте цілий ланцюг подій. Ця взаємодія між вашим локальним комп'ютером і веб-сервером (що знаходиться на веб-хості в Інтернеті) ілюструється на малюнку:

base01   56 Увага

Користувач тільки вводить URL і натискає клавішу Enter, а обробка запиту виконується "за кадром" в кілька кроків

Опис кроків, наведених на малюнку:

  1. Ви вводите в адресному рядку браузера адресу веб-сторінки.

  2. Браузер розбиває адресу на складові і відправляє ім'я сторінки веб-сервера. Наприклад, після введення адреси /index.html сервера www.addphp.ru буде відправлений запит на отримання сторінки index.html.

  3. Програма на веб-сервері, звана процесом веб-сервера, приймає запит на отримання сторінки index.html і знаходить потрібний файл.

  4. Веб-сервер читає файл index.html з жорсткого диска.

  5. Веб-сервер повертає браузеру вміст файлу index.html.

  6. Браузер формує зовнішній вигляд сторінки на екрані вашого комп'ютера відповідно до розмітки HTML, отриманої від веб-сервера.

HTML-файл з ім'ям index.html (що запитується на малюнку) називається статичної веб-сторінкою, тому що будь-який, хто запросить сторінку index.html, отримає таку саму сторінку.

Якщо веб-сервер повинен налаштувати возвращаемую сторінку, до набору додаються PHP і MySQL. На малюнку нижче показані додаткові кроки в послідовності подій на веб-сервері:

Спільні дії інтерпретатора PHP, MySQL і веб-сервера по створенню сторінки

Опис всіх кроків послідовності:

  1. Ви вводите адресу веб-сторінки в адресному рядку браузера.

  2. Браузер розбиває адресу на складові і відправляє ім'я сторінки веб-сервера.

  3. Процес веб-сервера на хості приймає запит на отримання сторінки index.php.

  4. Веб-сервер зчитує файл index.php з жорсткого диска хоста.

  5. Веб-сервер визначає, що це сценарій PHP, а не простий HTML-файл, і тому передає його на обробку іншому процесу - інтерпретатора PHP.

  6. Інтерпретатор PHP виконує PHP-код, який він виявив у тексті, отриманому від процесу веб-сервера. Цей код включає в себе звернення до бази даних MySQL.

  7. Інтерпретатор PHP запитує у процесу бази даних MySQL обробку звернень до бази даних.

  8. Процес бази даних MySQL повертає результати запиту до бази даних.

  9. Інтерпретатор PHP завершує виконання PHP-коду, додаючи дані, отримані з бази даних, і повертає результат процесу веб-сервера.

  10. Веб-сервер повертає результат браузеру у вигляді HTML-тексту.

  11. Веб-браузер формує зовнішній вигляд веб-сторінки на екрані вашого комп'ютера відповідно до отриманого HTML-текстом.

Може здатися, що кроків забагато, проте, все це автоматично виконується всякий раз, коли запитується веб-сторінка, що містить PHP-код. Фактично, описаний процес може неодноразово повторюватися для однієї веб-сторінки, якщо вона містить багато зображень і визначень CSS, оскільки кожне з них браузер отримує за допомогою окремого запиту до веб-сервера.

При розробці динамічних веб-сторінок вам доведеться працювати з безліччю змінних і компонентів сервера, що грають важливу роль в створенні привабливого, зручного для навігації і супроводу веб-сайту. У наступній статті ми покажемо, як встановити всі три основних компоненти, необхідних для цієї роботи: Apache, PHP і MySQL.

Переваги використання PHP і СУБД MySQL

Кількість різних базових систем, на яких можуть бути сформовані веб-додатки, досить велике. У цьому розділі наведено порівняння PHP з деякими іншими базовими системами і відзначені сильні сторони системи PHP і СУБД MySQL.

вартість

PHP - одна з мов, позначених буквою "P" в абревіатурі LAMP , Яка представляє широко застосовуваний стек програм. В стек LAMP входять такі поширені програмні продукти, як Linux, Apache, MySQL та PHP / Perl / Python, які експлуатуються на багатьох веб-сайтах і підтримують багато веб-додатків.

Значна частина компонентів стека LAMP надається безкоштовно, і система PHP не став винятком. Під безкоштовним наданням системи PHP мається на увазі, що не потрібно платити за надану можливість проводити розробку на мові PHP і експлуатувати програми, розроблені на цій мові.

Зрозуміло, ліцензія на СУБД MySQL надається на інших умовах, які не завжди допускають відсутність плати, але в будь-якому випадку залишається можливість отримати випуск Community Server безкоштовно. Розробники СУБД MySQL пропонують кілька рівнів контрактів підтримки на свій сервер бази даних. Більш докладні відомості можна отримати за адресою www.mysql.com .

І система PHP, і СУБД MySQL можуть експлуатуватися на багатьох різновидах базових систем, включаючи різні варіанти Linux, Microsoft Windows і ін. Використання цього програмного забезпечення в такий операційній системі, як Linux, дозволяє отримати в своє розпорядження повністю безкоштовну базову систему експлуатації веб-додатків , для придбання якої не потрібно ніяких попередніх витрат.

Безумовно, розмірковуючи про розробку програмного забезпечення і прикладних платформах, слід враховувати, що попередні витрати на ліцензування програмного забезпечення в будь-якому випадку складають лише частину сукупної вартості володіння. Але довгі роки практичного використання Linux, Apache, MySQL та PHP в виробничому середовищі показали, що загальна вартість підтримки цих базових систем є більш низькою і у багато разів нижче в порівнянні з підтримкою інфраструктури, заснованої на комерційному, платному програмному забезпеченні.

Зручність у використанні

Порівняння з багатьма іншими мовами програмування показує, що мова PHP найчастіше дозволяє швидше розробляти потужні веб-додатки (в цьому полягає одночасно його благословення і прокляття). У мові PHP вже заздалегідь визначені багато з найбільш корисних спеціалізованих функцій (наприклад, призначених для створення з'єднання з базою даних Oracle або вибірки електронної пошти з сервера IMAP). А вивчення цієї мови значно спрощується завдяки наявності величезної кількості готових сценаріїв, з якими можна ознайомитися, щоб дізнатися, як найпростіше скласти ту чи іншу програму.

Мова PHP є легким для вивчення, а програми на цій мові можуть бути легко створені, особливо тими розробниками, які мають хоча б невеликий досвід роботи на мові програмування з синтаксисом, подібним мови C. У зв'язку з цим мова PHP освоювати ненабагато складніше, ніж мова HTML. Початківці програмісти отримують можливість приступати до продуктивної роботи, не пройшовши досить повного навчання і не накопичивши досвіду, тому іноді допускають помилки, які в подальшому виростають у великі проблеми захисту. В цьому і полягає прокляття PHP.

А що стосується СУБД MySQL, то для програмістів, які не мають досвіду роботи з реляційними базами даних або знайомих лише з таким середовищем, як Microsoft Access, інтерфейс командного рядка цієї СУБД, а також відсутність готових структурних рішень можуть на перший погляд здатися досить бентежить. В СУБД MySQL передбачено кілька інструментів з графічним інтерфейсом користувача, що дозволяють спростити роботу з базами даних. Однак які б то не було графічні інструментальні засоби не замінять вивчення теорії і не підкажуть, в чому полягають методи якісного проектування.

Використання коду PHP, вбудований в код HTML

Код PHP может буті вбудований в код HTML. Іншими словами, сценарії формування сторінок, написані на мові PHP, є звичайними сценарії виведення сторінок в коді HTML, в яких у міру необхідності здійснюється перехід в режим обробки коду PHP. Нижче наведено приклад подібного сценарію:

Вихідний код <! DOCTYPE HTML> <html> <head> <meta charset = "utf-8"> <title> Простий документ </ title> </ head> <body> <p> Привіт, <? Php // В цій ділянці коду відбувся перехід в режим PHP. Замість статичних // змінних в наступних трьох рядках коду цілком можна було застосувати // виклики запитів до бази даних або функції для роботи з cookie-файлами; // ще один варіант полягає в тому, що значення змінних можуть бути передані з форми. $ Firstname = 'Іван'; $ Lastname = 'Петров'; $ Shortname = 'І.'; echo "$ shortname $ lastname"; // Все пройшло успішно, і тепер відбувається повернення в режим HTML?>. Ми знаємо хто ви! Вас звати <? Php echo $ firstname; ?>. &lt;/ P> <p> Ви відвідали цю сторінку <? Php echo date ( 'Ymd H: i: s'); ?> </ P> </ body> </ html>

Після того як клієнт запитує цю сторінку, веб-сервер виконує її попередню обробку. Це означає, що сервер переглядає сторінку від початку і до кінця, відшукує фрагменти коду PHP і робить спроби обробити ці фрагменти.

Однією з важливих складових обробки є те, що синтаксичний аналізатор запам'ятовує всі змінні (позначені префіксами у вигляді знака долара) і присвоєні їм значення, щоб в кінцевому підсумку підставити замість параметрів виклику функцій PHP (в даному випадку функції echo) значення цих змінних. Якщо всі операції обробки завершуються успішно, то препроцесор мови PHP в кінцевому підсумку передає в клієнтський браузер звичайну HTML-сторінку, яка відображається, як показано на малюнку:

Результат виведення коду HTML, отриманого після попередньої обробки коду PHP

Вихідний код сторінки, наведеної на малюнку, в клієнтському браузері буде виглядати, як показано нижче (для такого перегляду необхідно вибрати команду "Перегляд коду сторінки» у відповідному меню браузера):

Вихідний код сторінки в браузері користувача

Цей код повністю збігається з тим, який би відобразився в браузері, якби ця сторінка була написана в коді HTML вручну. Тому все - дуже просто!

Можливість впровадження коду PHP в код HTML тягне за собою цілий ряд описаних нижче важливих наслідків:

  • Код PHP може бути швидко доданий до коду, сформованому за допомогою програми редагування з інтерфейсом безпосереднього відображення (WYSIWYG).

  • Завдяки використанню мови PHP може бути забезпечений поділ праці між дизайнерами сторінок і укладачами сценаріїв.

  • Код HTML можна застосовувати безпосередньо, а не перезаписувати його для виведення за допомогою будь-якої мови програмування.

  • Мова PHP дозволяє скоротити трудомісткість і підвищити ефективність праці, оскільки сприяє прискореному навчанню і є простим у використанні.

межплатформенная сумісність

Система PHP і СУБД MySQL можуть експлуатуватися в безпосередньому вигляді у всіх широко застосовуваних різновидах операційної системи Linux / Unix (включаючи Mac OS X) і Windows. Під управлінням операційних систем цих двох класів функціонує переважна більшість серверів, що працюють по протоколу HTTP (Hypertext Transfer Protocol - протокол передачі гіпертекстових файлів), які застосовуються у всьому світі.

Система PHP сумісна з двома провідними веб-серверами: HTTP-сервер Apache для Linux / Unix і Windows, а також сервер IIS (Internet Information Server) корпорації Microsoft для Windows. Крім того, система PHP застосовується з кількома менш відомими серверами. Що ж стосується СУБД MySQL, то при її експлуатації не потрібно забезпечувати сумісність з якимось конкретним веб-сервером, оскільки всю необхідну для цього роботу виконує інтерпретатор PHP.

стабільність

В даному контексті під словом "стабільність" маються на увазі дві описані нижче особливості системи:

  • Не має потреби часто виконувати перезавантаження або перезапуск сервера.

  • Чи не відбуваються важливі зміни в програмному забезпеченні, і після переходу з одного випуску на інший не виникають несумісності.

На щастя, обидва ці аспекти визначення поняття стабільності відносяться і до СУБД MySQL, і до системи PHP.

Сервер Apache в цілому розглядається як найбільш стабільний з усіх основних веб-серверів і має надійну репутацію сервера, що має саме завидне співвідношення часу безвідмовної роботи до часу простою. До того ж найчастіше перезавантаження сервера не потрібно і при кожній зміні параметрів настройки. Система PHP має таку ж надійністю, крім того, реалізація даної системи, хоча і не вимагає для своєї роботи великого обсягу ресурсів, є дуже стійкою.

Система PHP і СУБД MySQL відповідають також тієї частини визначення поняття стабільності, яка стосується сталості складу коштів. Групи розробників, які взяли на себе відповідальність за подальший розвиток цих систем, вже давно досягли абсолютно чіткого розуміння подальших перспектив розвитку своїх проектів і не піддаються спокусам, через які їм довелося б відволікатися на реалізацію кожного нового модного течії і кожного неправильно понятого вимоги користувачів, яке може швидко з'явитися і так само швидко зникнути.

Основна частина зусиль розробників PHP спрямована на поступове нарощування продуктивності, забезпечення взаємодії з усе більшими базами даних і введення кращих засобів підтримки сеансів. А що стосується MySQL, то розробники цієї СУБД останнім часом додатково ввели добре продумані і довгоочікувані нові засоби, досягнувши істотного розширення можливостей зазначеного програмного продукту. Але всі ці удосконалення стосовно і до системи PHP, і до СУБД MySQL практично ніколи не призводять до порушення їх сумісності.

Велика кількість розширень

Система PHP дозволяє легко вирішити задачу забезпечення взаємодії з іншими програмами і протоколами. Створюється враження, що група розробників PHP добровільно взяла на себе обов'язок надати максимальні можливості найбільшої кількості користувачів.

Особливо вражаючими є засоби доступу до баз даних, оскільки в системі PHP передбачена підтримка на рівні власних драйверів приблизно для п'ятнадцяти найбільш широко застосовуваних баз даних, не рахуючи підтримки на основі інтерфейсу ODBC (Open DataBase Connectivity - відкритий інтерфейс взаємодії з базами даних).

Крім того, система PHP забезпечує взаємодію за допомогою великої кількості таких важливих протоколів, як POP3, IMAP і LDAP. В випущених раніше версіях PHP введена підтримка для Java і розподілених об'єктних архітектур, таких як COM (Component Object Model - модель компонентних об'єктів Microsoft) і CORBA (Common Object Request Broker Architecture - загальна архітектура брокера запитів до об'єктів), завдяки чому вперше з'явилася можливість розробки n-рівневий систем; включена повна графічна бібліотека GD і оновлена підтримка XML (Extensible Markup Language - розширювана мова розмітки) поряд з технологіями DOM і simpleXML.

Швидка реалізація нових засобів

Користувачі технологій розробки для веб, заснованих на використанні програмного забезпечення, що належить приватним компаніям, іноді відчувають розчарування через те, наскільки повільно нові засоби реалізуються в офіційному стандарті на даний програмний продукт для підтримки країн, що розвиваються технології. Але стосовно до системи PHP така проблема не виникає. В рамках цього проекту є все, що потрібно для введення в дію нового важливого функціонального кошти - розробники, компілятори мови C і гарячий ентузіазм.

Це не означає, що група розробників PHP приймає до складу офіційного дистрибутива будь-який випадковий внесок, зроблений окремим розробником, без узгодження з спільнотою користувачів, але незалежних розробників ніхто не позбавляє права поширювати власні розширення, ніж вони з успіхом і займаються, для того щоб в подальшому таке розширення могло увійти в основний пакет PHP, придбавши більш-менш уніфіковану форму.

Наприклад, витончене розширення xmlrpc-epi, запропоноване Деном Ліббі (Dan Libby), було прийнято до складу дистрибутива PHP в версії 4.1 через кілька місяців після того, як було вперше випущено у вигляді незалежного пакета.

Крім того, розробка системи PHP ведеться постійно і безперервно. Безумовно, в ході цієї розробки виникають важливі перехідні моменти, такі як заміна версії PHP4 версією PHP5, але великі модифікації головним чином стосуються внутрішнього устрою синтаксичного аналізатора, а робота над головними розширеннями триває без будь-яких істотних проблем фактично навіть протягом усього подібного перехідного періоду .

Установка сервера для розробки

Оцінити статтю:

DOCTYPE HTML> <html> <head> <meta charset = "utf-8"> <title> Простий документ </ title> </ head> <body> <p> Привіт, <?
Echo "$ shortname $ lastname"; // Все пройшло успішно, і тепер відбувається повернення в режим HTML?
Вас звати <?
Php echo $ firstname; ?
Lt;/ P> <p> Ви відвідали цю сторінку <?
Php echo date ( 'Ymd H: i: s'); ?