Введення в PHP

PHP, в даний час - одна з найбільш популярних мов для реалізації веб-додатків. Цей курс присвячений вивченню його основ. Акцент робиться на практичне застосування здобутих навичок.
Мова PHP була створена для вирішення конкретного практичного завдання в середовищі інтернет (який саме можна дізнатися, прочитавши першу лекцію курсу). Ми теж постараємося не відволікатися надто сильно на теоретичні міркування, і будемо прагнути вирішення якогось конкретного завдання в кожній з лекцій. Більшість прикладів взято із реально існуючої системи: віртуального музею історії інформатики. Перша частина курсу присвячена вивченню основ синтаксису та керуючих конструкцій. Після цього розглядається технологія клієнт-сервер, як основна сфера застосування мови PHP. Потім переходимо до вивчення найбільш корисних з погляду вбудованих функцій і вирішення з допомогою практичних завдань. Хоча об'єктна модель у мові PHP не найбагатша, її принципова наявність дозволяє природно описувати об'єктні моделі даних. Як базова модель буде розглянута модель документа віртуального музею інформатики. Після цього буде розглянуто ряд прикладних аспектів: робота з файловою системою, з БД, рядками, сесіями, DOM XML – все це дозволить розглянути ключові завдання практичного використання мови.
Курс "Мова програмування PHP"
Введення в PHP
Розділи на цій сторінці:
Історія PHP
Мова PHP була розроблена як інструмент для вирішення суто практичних завдань. Його творець, Расмус Лердорф, хотів знати, скільки людина читають його online-резюме, і написав при цьому простеньку CGI-оболонку мовою Perl, тобто. це був набір Perl-скриптів, призначених виключно для певноїЦілі – збору статистики відвідувань.
Для довідки. CGI (Common Gateway Interface – загальний інтерфейс шлюзів) є стандартом, який призначений для створення серверних додатків, що працюють за протоколом HTTP. Такі програми (їх називають шлюзами або CGI-програмами) запускаються сервером як реального часу. Сервер передає запити користувача CGI-програмі, яка їх обробляє та повертає результат своєї роботи на екран користувача. Таким чином, відвідувач отримує динамічну інформацію, яка може змінюватися внаслідок впливу різних факторів. Сам шлюз (скрипт CGI) може бути написаний різними мовами програмування – Cі/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python та ін.
Незабаром з'ясувалося, що оболонка має невелику продуктивність, і довелося переписати її заново, але вже мовою Сі. Після цього вихідники були викладені на загальний огляд виправлення помилок і доповнення. Користувачі сервера, де розташовувався сайт із першою версією PHP, зацікавилися інструментом, з'явилися бажаючі використовувати його. Так що незабаром PHP перетворився на самостійний проект, і на початку 1995 року вийшла перша відома версія продукту, яка називалася Personal Home Page Tools (засоби для персональної домашньої сторінки). Кошти ці були більш ніж скромними: аналізатор коду, який розуміє лише кілька спеціальних команд, і набір утиліт, корисних для створення гостьової книги, лічильника відвідувань, чату тощо.
На середину 1995 року після ґрунтовної переробки з'явилася друга версія продукту, названа PHP/FI (Personal Home Page / Forms Interpreter – персональна домашня сторінка/ інтерпретатор форм). Вона включала набір базових можливостей сьогоднішнього PHP, можливість автоматичнообробляти html-форми та вбудовуватись у html-коди. Синтаксис PHP/FI сильно нагадував синтаксис Perl, але був простішим.
PHP 3.0 була першою версією, що нагадує PHP, яким ми знаємо його сьогодні. Він дуже сильно відрізнявся від PHP/FI 2.0 і з'явився знову ж таки як інструмент для вирішення конкретного прикладного завдання. Його творці, Енді Гутманс (Andi Gutmans) та Зів Сураскі (Zeev Suraski), в 1997 році переписали заново код PHP/FI, оскільки він здався їм непридатним для розробки програми електронної комерції, над якою вони працювали. Для того, щоб отримати допомогу в реалізації проекту від розробників PHP/FI, Гутманс і Сураскі вирішили об'єднатися з ними та оголосити PHP3 офіційним наступником PHP/FI. Після об'єднання розробку PHP/FI було повністю припинено.
Однією із сильних сторін PHP 3.0 була можливість розширення ядра. Саме властивість розширюваності PHP 3.0 привернула увагу багатьох розробників, які бажають додати свій модуль розширення. Крім того, PHP 3.0 надавала широкі можливості для взаємодії з базами даних, різними протоколами та API. Важливим кроком до успіху виявилася розробка нового, більш потужного та повного синтаксису з підтримкою ОВП. З моменту появи PHP 3.0 змінилася не тільки функціональність та внутрішній пристрій мови, але і його назва. В абревіатурі PHP більше не було згадки про персональне використання, PHP стало скороченням (рекурсивним акронімом) від PHP: Hypertext Preprocessor, що означає PHP: препроцесор гіпертексту.
До кінця 1998 року кількість користувачів PHP зросла до десятків тисяч. Сотні тисяч веб-сайтів повідомляли, що вони працюють з використанням цієї мови. Майже 10% серверів Internet було встановлено PHP 3.0.
Нове ядро було названо "Zend Engine"(від імен творців: Zeev та Andi) та вперше представлено в середині 1999 року. PHP 4.0, заснований на цьому ядрі і що приніс із собою набір додаткових функцій, офіційно вийшов у травні 2000 року, майже через два роки після свого попередника, PHP 3.0. Крім поліпшення продуктивності, PHP 4.0 мав ще кілька ключових нововведень, таких як підтримка сесій, буферизація виведення, більш безпечні способи обробки інформації, що вводиться користувачем, і кілька нових мовних конструкцій.
В даний час ведуться роботи з покращення Zend Engine та впровадження нововведень у PHP 5.0, перші бета-версії якого вже вийшли у світ. Одна з істотних змін відбулася в об'єктній моделі мови, її ґрунтовно підлатали та додали багато нових можливостей.
Сьогодні PHP використовується сотнями тисяч розробників. Декілька мільйонів сайтів написано на PHP, що становить понад 20% доменів Internet.
Можливості PHP
"PHP може все", - заявляють його творці. Насамперед PHP використовується для створення скриптів, що працюють на стороні сервера, для цього його, власне, і вигадали. PHP здатний вирішувати ті самі завдання, що й будь-які інші CGI-скрипти, у тому числі обробляти дані html-форм, динамічно генерувати html сторінки тощо. Але є й інші області, де можна використовувати PHP. Усього виділяють три основні сфери застосування PHP.
- Друга область – це створення скриптів, що виконуються у командному рядку. Тобто за допомогою PHP можна створювати такі скрипти, які будуть виконуватися незалежно від web-сервера і браузера на конкретній машині. Для такої роботи потрібно лише парсер PHP (у цьому випадку його називають інтерпретатором командного рядка (cli, command line interpreter)). Цей спосіб роботи підходить,наприклад, для скриптів, які мають виконуватися регулярно за допомогою різних планувальників задач або для вирішення задач простої обробки тексту.
- І остання область - це створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. В принципі це не найкращий спосіб використовувати PHP, особливо для початківців, але якщо ви вже досконало вивчили PHP, такі можливості мови можуть виявитися дуже корисними. Для застосування PHP у цій галузі буде потрібний спеціальний інструмент – PHP-GTK, який є розширенням PHP.
Отже, сфера застосування PHP досить велика і різноманітна. Тим не менш, існує безліч інших мов програмування, здатних вирішувати схожі завдання. Чому варто вивчати PHP? Що нам це дає? По-перше, PHP дуже простий у вивченні. Достатньо ознайомитися лише з основними правилами синтаксису та принципами його роботи, і можна починати писати власні програми, причому братися за такі завдання, вирішення яких іншою мовою вимагало б серйозної підготовки.
По-друге, PHP підтримується майже на всіх відомих платформах, майже у всіх операційних системах і на різних серверах. Це також дуже важливо. Навряд чи комусь захочеться переходити, наприклад від роботи під Windows до роботи під Linux або від сервера IIS до сервера Apache тільки для того, щоб вивчити ще одну мову програмування.
У PHP поєднуються дві найпопулярніші парадигми програмування – об'єктна та процедурна. У PHP4 повніше підтримується процедурне програмування, але є можливість писати програми і в об'єктному стилі. Вже у перших пробних версіях PHP5 більшість недоліків у реалізації об'єктно-орієнтованої моделі мови, що у PHP4, усунуто. Таким чином, можна вибрати найбільшзвичний стиль роботи.
Якщо говорити про можливості сьогоднішнього PHP, то вони виходять далеко за межі тих, що були реалізовані в перших версіях. За допомогою PHP можна створювати зображення, PDF-файли, флеш-ролики, до нього включена підтримка великої кількості сучасних баз даних, вбудовані функції для роботи з текстовими даними будь-яких форматів, включаючи XML, та функції для роботи з файловою системою. PHP підтримує взаємодію з різними сервісами за допомогою відповідних протоколів, таких як протокол управління доступом до директорій LDAP, протокол роботи з мережевим обладнанням SNMP, протоколи передачі IMAP, NNTP і POP3, протокол передачі гіпертексту HTTP і т.д.
Звертаючи увагу на взаємодію між різними мовами, слід згадати про підтримку об'єктів Java та можливості їх використання як об'єкти PHP. Для доступу до віддалених об'єктів можна використовувати розширення CORBA.