ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.05.2024

Просмотров: 121

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекція 1.

Тема: Введення в PHP.

Мета: розглянути історію язика (від PHP/FI до PHP5); опис його можливостей (короткий перелік платформ, протоколів, баз даних, додатків електронної комерції і функцій, які підтримуються PHP); області застосування (як серверний додаток, в командному рядку, створення GUI додатків); способи використання (як PHP вбудовується в HTMLкод і найпростіші приклади); створення першого скрипта на PHP. Установка і настройка програмного забезпечення, необхідного для роботи з PHP.

ПЛАН

1.Історія PHP

2.Можливості PHP

3.Установка і настройка ПО

3.1.Установка Apache 1.3.29 під Windows XP

3.2.Установка PHP 4.3.4 під Windows

1. Історія 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, але був більш простим.

В 1997 вийшла друга версія Сі-реалізації PHP – PHP/FI 2.0. До того моменту PHP використовували вже декілька тисяч чоловік по всьому світу, приблизно з 50 тис. доменів, що складало біля 1% всього числа доменів Internet. Число розробників PHP збільшилося до декількох чоловік, але, не дивлячись на це, PHP/FI 2.0 все ще залишався крупним проектом однієї людини. Офіційно PHP/FI 2.0 вийшов тільки в листопаді 1997 року, проіснувавши до цього в основному в бета-версіях. Незабаром після виходу його замінили альфа-версії PHP 3.0.

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 більше не було згадки про

1


персональне використовування, PHP стало скороченням (рекурсивним акронімом) від PHP: Hypertext Preprocessor, що значить " PHP: препроцесор гіпертексту ".

До кінця 1998 року число користувачів PHP зросло до десятків тисяч. Сотні тисяч web-сайтів повідомляли про те, що вони працюють з використанням цього язика. Майже на 10% серверів Internet був встановлений PHP 3.0.

Офіційно PHP 3.0 вийшов в червні 1998 року, після 9 місяців публічного тестування. А вже до зими Енді Гутманс і Зів Сураські почали переробку ядра PHP. В їх задачі входило збільшення продуктивності роботи складних додатків і поліпшення модульної коду, що лежить в основі PHP.

Нове ядро було названо "Zend Engine" (від імен творців: Zeev і Andi) і вперше представлено в середині 1999 року. PHP 4.0, заснований на цьому ядрі і набір додаткових функцій, що приніс з собою, офіційно вийшов в травні 2000 року, майже через два роки після свого попередника, PHP 3.0. Крім поліпшення продуктивності, PHP 4.0 мав ще декілька ключових нововведень, таких як підтримка сесій, буферизація виводу, більш безпечні способи обробки інформації, що вводиться користувачем, і декілька нових мовних конструкцій.

В даний час ведуться роботи по поліпшенню Zend Engine і упровадженню нововведень в PHP 5.0, перші бетаверсії якого вже вийшли в світ. Одна з істотних змін відбулася в об'єктній моделі язика, її ґрунтовно підлатали і додали багато нових можливостей.

Коментар: П'ята версія PHP була випущена розробниками 13 липня 2004 року. Зміни включають оновлення ядра Zend (Zend Engine 2), що істотно збільшило ефективність інтерпретатора. Введена підтримка язика розмітки XML. Повністю перероблені функції ООП, які стали багато в чому схожі з моделлю, що використовується в Java. Зокрема, введена деструкція, відкриті, закриті і захищені члени і методи, остаточні члени і методи, інтерфейси і клонування об'єктів.

В подальших версіях також були введені простори імен, замикання і цілий ряд достатньо серйозних змін, кількісно і якісно порівнянних з тими, які з'явилися при переході на PHP 5.0. Шоста версія PHP розроблялася з жовтня 2006 року. Була зроблена безліч нововведень, як, наприклад, виключення з ядра регулярних виразів POSIX і "довгих" суперглобальних масивів, видалення директив safe_mode, magic_quotes_gpc і register_globals з конфігураційного файлу php.ini. Однією з основних новин має стати підтримка Юнікоду. Проте в березні 2010 року розробка PHP6 була визнана безперспективною через складнощі з підтримкою Юнікоду. Початковий код PHP6 переміщений на гілку, а основною лінією розробки стала версія 5.4.)

Сьогодні PHP використовується сотнями тисяч розробників. Декілька мільйонів сайтів написано на PHP, що складає більш 20% доменів Internet.

2. Можливості PHP

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

Перша область, як вже мовилося, – це створення додатків (скриптів), які виконуються на стороні серверу. PHP найбільш широко використовується саме для створення такого роду скриптів. Для того, щоб працювати таким чином, знадобиться PHP-парсер (тобто обробник php - скриптів ) і web-сервер для обробки скрипта, браузер для проглядання результатів роботи скрипта, ну, і, звичайно, який-небудь текстовий редактор для написання самого php -коду. Парсер PHP розповсюджується у вигляді CGI - програми або серверного модуля. Як встановити його і web-сервер на свій комп'ютер, ми розглянемо трохи пізніше. В цьому курсі ми обговорюватимемо, як правило, створення саме серверних додатків, як приклад використовування язика PHP.

Друга область – це створення скриптів, що виконуються в командному рядку. Тобто за допомогою PHP можна створювати такі скрипти, які виконуватимуться, незалежно від web-серверу і браузера, на конкретній машині. Для такої роботи буде потрібно лише парсер PHP (в цьому випадку його називають інтерпретатором командного рядка (cli, command line interpreter)). Цей спосіб роботи підходить, наприклад, для скриптів, які повинні виконуватися регулярно за допомогою різних планувальників задач або для вирішення задач простої обробки тексту.

І остання область – це створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. У принципі це не найкращий спосіб використовувати PHP, особливо для початківців, але якщо ви вже досконально вивчили PHP, то такі можливості язика можуть виявитися вельми корисні. Для вживання PHP в цій області буде потрібно спеціальний інструмент – PHP-GTK, який є розширенням PHP.

Отже, область вживання PHP достатньо обширна і різноманітна. Проте існує безліч інших язиків програмування, здатних вирішувати схожі задачі. Чому варто вивчати PHP? Що це нам дає?

2


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

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

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

Якщо говорити про можливості сьогоднішнього PHP, то вони виходять далеко за рамки тих, що були реалізовані в його перших версіях. За допомогою PHP можна створювати зображення, PDF-файли, флэш-ролики, в нього включена підтримка великого числа сучасних баз даних, вбудовані функції для роботи з текстовими даними будь-яких форматів, включаючи XML, і функції для роботи з файловою системою. PHP підтримує взаємодію з різними сервісами за допомогою відповідних протоколів, таких як протокол управління доступом до директорій LDAP, протокол роботи з мережним устаткуванням SNMP, протоколи передачі повідомлень IMAP, NNTP і POP3, протокол передачі гіпертексту

HTTP і т.д.

Звертаючи увагу на взаємодію між різними язиками, слід згадати про підтримку об'єктів Java і можливості їх використовування як об'єкти PHP. Для доступу до видалених об'єктів можна використовувати розширення CORBA.

Для роботи з текстовою інформацією PHP успадковував (з невеликими змінами) механізми роботи з регулярними виразами з язика Perl і UNIX-систем. Для обробки XML-документів можна використовувати як стандарти DOM і SAX, так і API для XSLT-трансформацій.

Для створення додатків електронної комерції існує ряд корисних функцій, таких як функції здійснення платежів

Cybercash, CyberMUT, VeriSign Payflow Pro і CCVS.

3. Установка і настройка ПО

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

наприклад Internet Explorer.

3.1. Установка Apache 1.3.29 під Windows XP

Щоб що-небудь встановити, потрібно спершу мати відповідне програмне забезпечення (ПО). Скачати ПО для установки Apache можна, наприклад, з його офіційного сайту http://www.apache.org. Ми скачали файл apache_1.3.29- win32-x86-no_src.exe. Це автоматичний установник (інакше – wizard) серверу Apache під Windows. Ця програма спробує майже самостійно (а точніше, з мінімальними зусиллями з вашої сторони) встановити на комп'ютер яке-небудь програмне забезпечення, а в даному випадку сервер. Після запуску файлу установника з'являється наступне віконце (мал. 1.1).

3


Мал. 1.1. Автоматична установка серверу Apache

Щоб встановити HTTPсервер Apache версії 1.3.29 на свій комп'ютер, потрібно натискувати на кнопку Next. До речі кажучи, ця ж програма дозволить змінити або видалити вже встановлений web-сервер.

Після натиснення кнопки Next програма запропонує згодитися з умовами ліцензії (мал. 1.2).

Мал. 1.2. Ліцензійна угода

Наступний екран міститиме інформацію про сервер Apache, і зокрема про його Windows-реалізацію (його зображення не приводимо).

На наступному кроці потрібно ввести ім'я мережного домена, ім'я серверу і e-mail адміністратора. Програма спробує автоматично визначити ваш домен і хост по настройках комп'ютера (мал. 1.3).

4

Мал. 1.3. Основна інформація про сервер

Після того, як ви ввели дані у вищенаведену форму, потрібно вибрати тип установки: повна (встановлюються всі компоненти серверу ) або визначувана користувачем (можна вибрати компоненти для установки ) (мал. 1.4.).

Мал. 1.4. Тип установки

Вибір компонентів серверу не дуже великий – це інструменти, необхідні для роботи серверу і документація до нього (мал. 1.5).

5

Мал. 1.5. Вибір компонент призначеної для користувача установки

Ми виберемо повну установку. Тоді на наступному кроці програма запропонує вибрати папку, в яку буде встановлений сервер. За умовчанням сервер встановлюється в папку С:\Program Files\Apache Group\ (мал. 1.6).

Мал. 1.6. Папка, в яку буде встановлений сервер

На наступному екрані (мал. 1.7) буде потрібно підтвердити правильність введених даних і почати установку. З будь-якого вікна установки, включаючи і це, можна повернутися назад і змінити введені раніше дані.

6

Мал. 1.7. Початок установки

Після натиснення кнопки Install почнеться безпосередня установка серверу. Від користувача ніяких додаткових дій більше не потрібен. З одного боку, це добре, але є у такої автоматизованої установки і деякі недоліки. Наприклад, домашні директорії користувачів виявляються там же, де і файли налаштувань серверу (С:\Program Files\Apache Group\Apache\users\ ). Це небезпечно, якщо на комп'ютері працює декілька користувачів, що не є адміністраторами серверу. Але спершу можна нічого не міняти. Припустимо, ми запустили установник, ввели всі необхідні дані, він виконав всі операції успішно і говорить, що сервер встановлений. Як перевірити, чи дійсно сервер встановлений? Набираємо у вікні браузера http://localhost/. Якщо все встановилося правильно, ми одержимо сторіночку вітання серверу

Apache (див. мал. 1.8).

Мал. 1.8. Сторінка вітання

Отже, сервер встановлений. Як тепер з ним працювати? Звідки можна запускати скрипти і де повинні знаходитися файли користувачів? Файли, які повинні бути оброблені сервером, можна зберігати або в корені серверу (в нашому випадку це С:\Program Files\Apache Group\Apache\htdocs ), або в директоріях користувачів (в нашому випадку це С:\Program Files\Apache Group\Apache\users\ ). Місцеположення кореня серверу і директорій користувачів прописано в настройках серверу, а точніше, у файлі конфігурації httpd.conf (знайти його можна в С:\Program Files\Apache Group\Apache\conf ). Для зміни цих шляхів потрібно змінити відповідні змінні у файлі конфігурації серверу. Змінна у файлі конфігурації ServerRoot відповідає за кореневу директорію серверу, а змінна UserDir – за директорію, де розташовуватимуться файли користувачів серверу (для більш безпечної роботи радимо змінити змінну UserDir на щонебудь типу з:\users\ ). Щоб дістати доступ до файлу test.html, що знаходиться в корені серверу, потрібно набрати в браузері http://localhost/test.html (тобто ім'я хоста, ім'я файлу). Якщо ж файл test.html знаходиться в директорії користувача user, то для його перегляду потрібно набрати в браузері http://localhost/~user/test.html.

7


3.2. Установка PHP 4.3.4 під Windows

Перейдемо до установки PHP. Скачати його дистрибутив можна з офіційного сайту PHP – http://www.php.net. Для зручності краще вибрати автоматичний інсталятор, як і у випадку з сервером. Найперше віконце при такій установці PHP містить вітання і попередження про існування авторських прав на цей продукт (мал. 1.9).

Мал. 1.9. Програма автоматичної установки PHP Далі потрібно прочитати і згодитися (або не згодитися) з ліцензією (мал. 1.10).

Мал. 1.10. Ліцензійна угода Потім вибираємо тип установки: стандартний або для фахівців. Ми виберемо стандартну установку (мал. 1.11).

8

Мал. 1.11. Тип установки

В наступному вікні програма запропонує вибрати директорію для установки PHP. Туди будуть скопійовані файли бібліотек, розширень, інтерпретатор командного рядка, модулі і т.п. (мал. 1.12).

Мал. 1.12. Вибір папки, в яку буде встановлений PHP

В наступному віконці пропонується ввести адресу SMTPсерверу, тобто серверу відправки поштових повідомлень, і зворотна адреса відправника пошти. Це віконце ми приводити не будемо.

Далі пропонується вибрати із списку сервер, з яким працюватиме PHP. Оскільки ми встановили Apache, то виберемо із списку саме його (мал. 1.13).

Мал. 1.13. Вибір серверу, на якому працюватиме PHP Наступне віконце починає інсталяцію (мал. 1.14).

9

Мал. 1.14. Початок автоматичної установки PHP

Після копіювання необхідних файлів ми одержали наступне повідомлення (див. мал. 1.15):

Мал. 1.15. Повідомлення про неможливість автоматично налаштувати Apache для роботи з PHP Це значить, що потрібно налаштовувати сервер Apache для роботи з PHP уручну.

Спочатку слід вибрати, як ми хочемо встановити PHP, оскільки він поставляється в двох видах: CGI-скрипт ( php.exe ) або набір SAPI-модулів (наприклад, php4isapi.dll ), що використовуються сервером. Останній варіант володіє новими можливостями, проте через недостатню опрацьованість може функціонувати недостатньо надійно, особливо на платформах старше Windows 2000 (може з'являтися купа помилок 500, можуть виникати збої в інших серверних модулях, таких як ASP). Отже, якщо потрібна абсолютна стабільність – треба вибирати установку PHP у вигляді CGI здійснимого додатку.

Якщо ми хочемо встановити PHP як серверний модуль, то у файлі конфігурації серверу ( httpd.conf ) потрібно написати:

LoadModule php4_module

С:/php/sapi/php4apache.dll

AddType арplication/x-httpd-php .php .phtml AddModule mod_php4.c

Якщо ми встановлюємо PHP як cgi - програму, то в httpd.conf потрібно написати: ScriptAlias /php/ "С:/php/"

AddType арplication/x-httpd-php .php .phtml Action арplication/x-httpd-php "/php/php.exe"

В цьому випадку можуть виникнути проблеми з безпекою. Рекомендується виправити директорію, де лежить виконуваний файл інтерпретатора (С:\php\ ), на що-небудь менш очевидне (наприклад, на С:\abc_php\ ). Ми радимо встановлювати PHP як серверний модуль.

Ще потрібно відредагувати файл php.ini (в папці з:\Windows ), щоб PHP "знав", де знаходиться коренева директорія серверу, де призначені для користувача директорії, а де його власні бібліотеки розширень. За це у файлі php.ini відповідають відповідно змінним doc_root, user_dir і extension_dir . Задамо їх таким чином:

doc_root = "С:\Program Files\Apache Group\Apache\htdocs"

user_dir = "С:\users"

extension_dir = "С:\php\extensions"

10