РНР - що в цьому слові? h2>
Подорожуючи
просторами Глобальної мережі, ви, напевно, не раз зустрічали всілякі форуми
і опитувальники. Бачили різноманітні графіки та лічильники систем збору і обробки
статистичної інформації, які змінювали свій вигляд кожного разу, коли ви
відвідували такий сайт знову і знову. Можливо, ви заповнювали різні форми, в
яких вже до вас були введені ваше ім'я, адресу електронної пошти та інша
"конфіденційна" інформація. Якщо це так, то напевно вам
доводилося стикатися з файлами, які мали розширення *. php3, замість
звичних *. htm або *. html. Що за цим всім ховається, ми і спробуємо
розповісти в цій статті ... p>
РНР
(читається як пі-ейч-пі) з'явився на світ восени 1994 року з волі Расмуса
Лердорф (Rasmus Lerdorf). Трохи раніше мали місце перші версії цього
скрипт-мови, які сам автор використовував виключно в своїх особистих цілях.
РНР почав своє життя як непоказна CGI-оболонка, написана на Perl. P>
Невелике
відступ: СGI (Common Gateway Interface) - загальний шлюзовий інтерфейс --
є стандартом, який призначений для створення серверних додатків
HTTP. Таку програму, що називають шлюзом або CGI-програмою, запускається
www-сервером в реальному часі. Сервер передає запити користувача
CGI-програмі, яка їх обробляє і повертає результат своєї роботи на
екран користувача. Таким чином, Інтернет-серфер отримує динамічну
інформацію, яка може змінюватися в результаті впливу різних факторів.
Сам шлюз може бути написаний на C/C + +, Fortran, Perl, TCL, Unix Schell, Visual
Basic, Apple Script і інших подібних мовах. Але у випадку з РНР, для написання
його в первинному варіанті була вибрана мова Perl. p>
Ось
як про це згадує сам автор: "Я написав це протягом полудня в
проміжку між діловими зустрічами. Тоді я мав потребу у швидкому інструменті,
щоб мати уявлення про тих людей, які читали моє резюме, розміщене в
Мережі. Навіть не передбачалося, що оболонка буде використовуватися кимось крім
мене. Сервер, на якому розташовувалося моє резюме, був постійно перевантажений. Я
переписав Perl-оболонку на C, щоб позбутися від значних
непродуктивних витрат ... Люди, які використовували той же сервер,
натрапили на мою оболонку і попросили її для використання у себе ". p>
Так,
на початку 1995 року з'явилася перша версія продукту, яка стала доступною
широкому колу користувачів і містила дистрибутив з документацією, список
розсилки та FAQ. Ім'я цього першого пакету було Personal Home Page Tools. На той
момент РНР мав досить скромними можливостями. Він мав найпростіший
аналізатор коду, який розумів кілька спеціальних команд, а також різні
утиліти для використання на домашній сторінці, такі як гостьова книга,
лічильник і тому подібне. p>
Ближче
до середини 1995 пакет грунтовно переробляється, був доданий Form
Interpreter (FI), для спрощення обробки даних, що вводяться за допомогою форм.
Також з'явилася підтримка mSQL, що дозволила працювати з базами даних. У такому
вигляді з'явилася друга версія продукту, яка носила назву PHP/FI Version
2. Після цього РНР почав стрімко розвиватися. Люди почали писати
власні бібліотеки, що розширюють функціональність мови. p>
За
скромними підрахунками NetCraft, наприкінці 1999 року PHP використовувався вже на більш
ніж 1000000 сайтів у всьому світі. У червні 2000 року ця цифра перевалила за 2,5
мільйона. p>
Так
що ж це таке? Отже, на сьогоднішній день РНР, незважаючи на своє скромне
назва (Personal Home Page - персональна домашня сторінка), - це потужний
кросплатформний набір засобів, який розташовується на сервері і
призначається для обробки коду, що вбудовується в html-документи. Завдяки
цьому, з'являється можливість створювати динамічні Web-сторінки. Тобто ви
створюєте їх як звичайно, використовуючи мову HTML і вставити в документ, у міру
необхідності, РНР-команди. Файли, створені таким чином, зберігаються на
сервер. Коли відвідувач звертається до вашої сторінці, РНР обробляє
вбудовані в неї команди і видає результат браузеру користувача - точно так
само, як це робить CGI-програма, написана на С або Perl. Тільки на відміну від
останньої, РНР має ряд переваг: p>
--
створення та налагодження скриптів PHP значно простіше, ніж налагодження та створення
скриптів на інших мовах. p>
--
так як РНР-команди просто вставляються в текст html-документа, відпадає
необхідність у різних IDE (інтегроване середовище розробки); p>
--
для вирішення різних специфічних завдань не потрібно писати й налагоджувати
численні маленькі CGI-програми, що зводить до мінімуму час доступу до
вашим сторінкам, а також тривалість розробки сторінок і сайту в цілому. p>
Разом
з тим, РНР володіє величезним набором функцій і великою гнучкістю, які можуть
бути значно розширені за допомогою додаткових зовнішніх бібліотек. Ви
можете керувати доступом до ваших сторінках, створювати і обробляти бази
даних будь-якої складності, генерувати зображення або PDF-документи і тому
подібне. Але про все по порядку. P>
Заглянемо
всередину. За своїм синтаксису РНР є С-подібним мовою. Тому програмісту,
авторові на С, буде дуже легко освоїти цей скрипт-мову і використовувати його
максимально ефективно в своїх цілях. Але навіть якщо З вам не знайомий, то ... настав
часом з ним познайомитися, тим більше, що РНР прекрасно для цього підходить. Всі
досить просто, і я спробую вам це показати. p>
Для
початку, щоб сервер знав, у якому з файлів використовуються РНР-команди і,
отже, міг передати таку сторінку для подальшої обробки,
необхідно змінити розширення файлу з *. html на *. php3. Тому, коли ви
бачите файли з таким розширенням, можна з майже повною впевненістю стверджувати,
що при їх створенні використовувався РНР. p>
Кожна
команда РНР зазвичай починається з тега php і закінчується?>. Якщо ви
використовуєте кілька команд поспіль, вони можуть бути об'єднані всередині однієї
пари тегів - в цьому випадку кожну команду необхідно відокремлювати один від одного
символом;. У будь-якому місці РНР-скрипту можна розміщувати коментарі. Для початку
коментаря використовується літери/*, а для його завершення - * /. Якщо коментар
невеликий, зручніше використовувати літери// - тоді все, що йде за ними до
кінця рядка, буде ігноруватися, подібно зайвим символів пробілу, табуляції
і нового рядка. p>
РНР
дозволяє використовувати змінні - при цьому їх не потрібно описувати так, як це
робиться в Visual Basic або Pascal. Ви просто вводите необхідну змінну
там, де вам потрібно і тоді, коли вам це потрібно. Імена змінних починаються з
символу $. p>
Змінні
можуть бути трьох типів: цілі, з плаваючою комою і символьні рядки. Хоча
поділ на типи швидше умовне, і кожна функція прагне використовувати
правильний тип автоматично. Наприклад: p>
php p>
$ a
= 7; p>
$ b
= 9.5; p>
$ c
= P>
"Hello"; p>
?> p>
Тут
змінної а присвоюється значення 7, і вона набуває тип цілочисельний.
Змінна b знаходить речовинний тип і стає рівною 9,5. Рядок Hello
присвоюється змінної с, у результаті чого вона стає рядковий. p>
Для
відображення змінних або результатів роботи скрипта використовується команда
echo. Ось невеликий приклад робочої сторінки, для того, щоб можна було
оцінити, як просто включити PHP-скрипт в звичайний html-документ: p>
p>
p>
Приклад title> p>
head> p>
p>
p>
php p>
$ d = date (d.m.Y); p>
echo
"Останні p>
оновлення: $ d ";?> p>
body> p>
html>
p>
В
результаті завантаження такої сторінки, РНР розпізнає всі команди, які
знаходяться між спеціальними тегами, і ви побачите, в даному випадку, рядок
зразок Останні оновлення: 2.08.2000. Браузер отримує чистий HTML-код і якщо
переглянути його, ви не знайдете там жодних слідів перебування РНР. Таким
чином, ви створите "вічно оновлену" сторінку J. p>
Вбудована
функція date () здатна виводити поточні час і/або дату - в будь-якому необхідному
для вас вигляді. p>
З
допомогою PHP дуже просто обробляти дані, отримані з форм, тому що для
кожного поля введення у вашій формі автоматично створюється змінна.
Припустимо, наприклад, що у вас є форма: p>