РНР – що в цьому слові?

Максим В. Приходько

Подорожуючи просторами Глобальної мережі, ви,
напевно, не раз зустрічали всілякі форуми і опитувальники. Бачили
різноманітні графіки та лічильники систем збору і обробки статистичної
інформації, які змінювали свій вигляд кожного разу, коли ви відвідували
такий сайт знову і знову. Можливо, ви заповнювали різні форми, в
яких вже до вас були введені ваше ім'я, електронну адресу та інша
"Конфіденційна" інформація. Якщо це так, то напевно вам
доводилося стикатися з файлами, які мали розширення *. php3,
замість звичних *. htm або *. html. Що за цим всім ховається, ми і
спробуємо розповісти в цій статті …

РНР (Читається як пі-ейч-пі) з'явився на світ
восени 1994 року з волі Расмус Лердорф (Rasmus Lerdorf).
Трохи раніше мали місце перші версії цього скрипт-мови, які сам
автор використовував виключно в своїх особистих цілях. РНР почав свою
життя як непоказна CGI-Оболонка, написана на Perl.

Невеликий відступ: СGI (Common Gateway Interface) – загальний
шлюзовий інтерфейс – є стандартом, який призначений для
створення серверних додатків HTTP. Такий додаток, яке
називають шлюзом або CGI-Програмою, запускається
www-сервером в реальному часі. Сервер передає запити
користувача CGI-Програмі, яка їх обробляє і повертає
результат своєї роботи на екран користувача. Таким чином,
Інтернет-серфер отримує динамічну інформацію, яка може
змінюватися в результаті впливу різних факторів. Сам шлюз може бути
написаний на C / C + +, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple
Script і інших подібних мовах. Але у випадку з РНР, для написання його в
первісному варіанті була вибрана мова Perl.
Ось як про це
згадує сам автор: "Я написав це протягом полудня в проміжку
між діловими зустрічами. Тоді я мав потребу у швидкому інструменті, щоб
мати уявлення про тих людей, які читали моє резюме, розміщене
в Мережі. Навіть не передбачалося, що оболонка буде використовуватися кимось
крім мене. Сервер, на якому розташовувалося моє резюме, був постійно
перевантажений. Я переписав Perl-оболонку на C, щоб позбутися від
значних непродуктивних витрат … Люди, які використовували той
ж сервер, натрапили на мою оболонку і попросили її для використання
у себе ".
Так, на початку 1995 року з'явилася перша версія продукту,
яка стала доступною широкому колу користувачів і містила
дистрибутив з документацією, список розсилки і FAQ. Ім'я цього першого
пакета було Personal Home Page Tools. На той момент РНР володів
досить скромними можливостями. Він мав найпростіший аналізатор коду,
який розумів декілька спеціальних команд, а також різні утиліти для
використання на домашній сторінці, такі як гостьова книга, лічильник і
тощо.
Ближче до середини 1995 пакет грунтовно
переробляється, був доданий Form Interpreter (FI), для
спрощення обробки даних, що вводяться за допомогою форм. Також з'явилася
підтримка mSQL, Яка дозволила працювати з базами даних. У такому
вигляді з'явилася друга версія продукту, яка носила назву PHP/FI
Version 2
. Після цього РНР почав стрімко розвиватися. Люди
почали писати власні бібліотеки, що розширюють функціональність
мови.
За скромними підрахунками NetCraft (http://www.netcraft.com/), В
Наприкінці 1999 року PHP використовувався вже на більш ніж 1000000 сайтів у
усьому світі. У червні 2000 року ця цифра перевалила за 2,5
мільйона.

Так що ж це таке? Отже, на сьогоднішній день РНР,
незважаючи на свою скромну назву (Personal Home Page
персональна домашня сторінка), – це потужний кросплатформний набір
коштів, який розташовується на сервері і призначається для
обробки коду, вбудованого в html-Документи. Завдяки цьому,
з'являється можливість створювати динамічні Web-Сторінки. Те
Тобто ви створюєте їх як звичайно, використовуючи мову HTML і вставити в
документ, у міру необхідності, РНР-Команди. Файли, створені
таким чином, зберігаються на сервері. Коли відвідувач звертається до вашої
сторінці, РНР обробляє вбудовані в неї команди і видає результат
браузеру користувача – точно так само, як це робить
CGI-Програма, написана на С або Perl. Тільки на відміну від
останньої, РНР має ряд переваг:
– Створення і налагодження скриптів
PHP значно простіше, ніж налагодження і створення скриптів на інших мовах.

– Так як РНР-Команди просто вставляються в текст
html-Документа, відпадає необхідність у різних IDE
(Інтегрована середовище розробки);
– Для вирішення різних
специфічних завдань не потрібно писати і налагоджувати численні
маленькі CGI-Програми, що зводить до мінімуму час доступу до
ваших сторінок, а також тривалість розробки сторінок і сайту в
цілому.
Разом з тим, РНР має величезний набір функцій і велику
гнучкістю, які можуть бути значно розширені за допомогою
додаткових зовнішніх бібліотек. Ви можете керувати доступом до ваших
сторінок, створювати і обробляти бази даних будь-якої складності,
генерувати зображення або PDF-Документи і тому подібне. Але
про все по порядку.
Заглянемо всередину. За своїм синтаксису РНР
є З-Подібним мовою. Тому програмісту, що пише на С,
буде дуже легко освоїти цей скрипт-мову і використовувати його
максимально ефективно в своїх цілях. Але навіть якщо С вам не знайомий, то …
настав час з ним познайомитися, тим більше, що РНР прекрасно для
цього підходить. Все досить просто, і я постараюся вам це
показати.

Для початку, щоб сервер знав, у якому з файлів
використовуються РНР-Команди і, отже, міг передати таку
сторінку для подальшої обробки, необхідно змінити розширення файлу
з *.html на *.php3. Тому, коли ви бачите файли з таким
розширенням, можна з майже повною впевненістю стверджувати, що при їх
створенні використовувався РНР.
Кожна команда РНР зазвичай починається з
тега <?php і закінчується ?>. Якщо ви використовуєте
кілька команд поспіль, вони можуть бути об'єднані в межах однієї пари
тегів – у цьому випадку кожну команду необхідно відокремлювати один від одного
символом;. У будь-якому місці РНР-Скрипта можна розміщувати
коментарі. Для початку коментаря використовується символи /*,
а для його завершення – */. Якщо коментар невеликий,
зручніше використовувати символи // тоді все, що слід
за ними до кінця рядка, буде ігноруватися, подібно зайвим символів
пробілу, табуляції і нового рядка.
РНР дозволяє використовувати
змінні – при цьому їх не потрібно описувати так, як це робиться в
Visual Basic або Pascal. Ви просто вводите необхідну змінну там,
де вам потрібно і тоді, коли вам це потрібно. Імена змінних починаються
з символу $.

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

<?php
$a = 7;
$b = 9.5;
$c = "Hello";
?>

Тут змінної а присвоюється
значення 7, і вона набуває тип целочисленной. Мінлива b
знаходить речовий тип і стає рівною 9,5. Рядок Hello
присвоюється змінної з, В результаті чого вона стає
строковою.
Для відображення змінних або результатів роботи скрипта
використовується команда echo. Ось невеликий приклад робочої сторінки,
для того, що б можна було оцінити, як просто включити
PHP-скрипт в звичайний
html-Документ:

<html>
<head>
<title> Приклад </ title>
</head>
<body>
<?php
$d = date(d.m.Y);
echo "Останні поновлення: $ d ";?>
</body>
</html>

У результаті завантаження такої сторінки, РНР обробить всі команди, які
знаходяться між спеціальними тегами, і ви побачите, в даному випадку,
рядок на зразок Останні оновлення: 2.08.2000. Браузер отримує
чистий HTML-код і якщо переглянути його, ви не знайдете там ніяких
слідів перебування РНР. Таким чином, ви створите "вічно оновлену"
сторінку J.
Вбудована функція date() здатна виводити
поточні час та / або дату – в будь-якому необхідному для вас вигляді.
З
допомогою PHP дуже просто обробляти дані, отримані з форм, так
як для кожного поля введення в вашій формі автоматично створюється
змінна. Припустимо, наприклад, що у вас є форма:

<form 
        action="thanx.php3" method=post>
<input type="text" name="name">
< input type="text" name="email">
< input type="submit">
</form>

Тоді у файлі
thanx.php3 можна написати що-небудь на зразок:

<?php 
        
echo "Спасибі вам, $ name, за реєстрацію. Ми тільки що відправили на $ Email 10Mb рекламних проспектів. Заходьте до нас ще. ";
?>

Тим самим ви порадуєте відвідувачів своєю
сторіночки такої оперативної роботою, і вони напевно захочуть повернутися до
вам ще разок.
Лист можна дійсно послати, і це робиться
одним рядком. Якщо ви додасте в той же thanx.php3
наступне:

<?php 
mail ($ email, "Тема повідомлення", "Вибачте, проспекти вже закінчилися");
?>

Лист піде на
адресу, який користувач ще хвилину тому необачно вводив в
вашу форму.
РНР підтримує HTTP-cookies. Cookies
це механізм для збереження даних у віддаленому браузері. Таким чином
можна відслідковувати або ідентифікувати користувача. Для того, щоб
зберегти змінну на комп'ютері відвідувача вашої сторінки,
використовується функція SetCookie(). Будь-яке значення cookies,
збережене таким чином, автоматично перетворюється в змінну, так
само як і у випадку з формами. Наприклад:

<?php 
        
SetCookie ("TrojanHorse", "Я вас десь бачив");
echo $TrojanHorse;
?>

На екрані з'явиться рядок: Я вас
десь бачив
. Все досить просто, зберігати можна будь-які
змінні, а потім їх використовувати. Саме тому у формах, які ви
хоча б раз заповнювали, при їх наступних завантаженнях ви можете побачити
ваші ім'я, електронну адресу та іншу подібну інформацію в
відповідних полях.
У РНР присутнє досить великий набір
функцій для роботи з файлами. Причому можна працювати як з локальними
файлами, так і з тими, що розташовані на віддалених серверах. Процедура
запису / читання здійснюється дуже просто.

<?PHP
$fp = fopen("counter.txt","r+");
$c = fgets($fp, 10);
$c = c + 1;
rewind($fp);
fputs($fp,$c);
fclose($fp);
echo $c;
?>

Цей приклад демонструє принцип створення на РНР,
найпростішого лічильника відвідувань вашої сторінки. Функція fopen()
відкриває файл counter.txt для читання і запису. У змінну
з за допомогою функції fgets() зчитується рядок довжиною 10
байт. Потім значення лічильника збільшуємо на одиницю. Тут добре
видно, як змінна з, Яка спочатку мала рядковий тип,
стає целочисленной: $c = c + 1. Функція rewind($fp)
переміщує файловий вказівник на початок файлу. Нове значення
лічильника записується в файл fputs($fp,$c), Після чого він
закривається fclose($fp). У тому місці сторінки, де буде
розташований цей скрипт, завжди можна буде бачити, скільки разів ця
сторінка відвідувалася.
Цікаві можливості відкриваються при
використанні HTTP-заголовків. Окремим випадком їх використання
може служити такий приклад. Припустимо, ви маєте каталог посилань і хочете
знати, які з них користуються найбільшою популярністю. У цьому випадку
можна використовувати функцію header(). Наприклад:

<?PHP
header(“Location: http://www.php.net/”); ?>

У
даному випадку користувач буде перенаправлено на сайт РНР. При цьому
можна збільшити значення лічильника, яке-то вам і розкаже, що
саме цікавить ваших відвідувачів. Заголовки (як, втім, і cookies)
необхідно використовувати до виведення даних командою echo або їй
подібними функціями – інакше нічого не вийде.
Щоб більше дізнатися
про ваших відвідувачів (а саме для цього, як ви тепер знаєте, на початку
і створювався цю мову), можна використовувати передбачені змінні,
доступ до яких надає РНР. Наприклад, за допомогою змінної
REMOTE_ADDR ви дізнаєтеся IP-адресу, з якого користувач
переглядає вашу сторінку. Мінлива HTTP_USER_AGENT
розповість вам про те, які браузери та операційні системи
використовують ваші відвідувачі. Існує ще безліч інших змінних,
які можна використовувати для вивчення аудиторії відвідувачів вашого
сайту або сторінки.
В одній статті важко розповісти про всі
можливості такого потужного і в той же час доступного скрипт-мови, як
РНР. Тим більше неможливо описати все реально використовувані функції і
способи їх застосування. І якщо ви замислюєтеся про те, як урізноманітнити
ваші html-Створіння, або, може бути, вас мучить сумнів – бути
чи не бути РНР у вашому веб-арсеналі – я думаю, вам буде легше зробити
свій вибір після ознайомлення з цією статтею.
Наостанок пара
необхідних адрес в Internet. http://www.php.net/ – Офіційний
сайт РНР. Тут ви знайдете детальну документацію, останні версії
дистрибутива під будь-яку платформу і багато іншої корисної інформації.
І ще один сайт, присвячений РНР – http://phpclub.unet.ru/ – За
мою думку, це найкорисніший і цікавий з усіх сайтів, які
мені тільки доводилося зустрічати. До того ж він російською мовою. Тут
ви знайдете багато корисної інформації, вихідних текстів і прикладів. Крім
всього цього достатку, там є відмінний форум, дуже живий, де
дійсно можна отримати відповіді на всі питання, пов'язані з РНР.

Бажаю Удачи.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*