PHP – система розробки скриптів

або Як написати
скрипт з використанням бази даних за 20
хв.

Зміст

1. Введення
 
1.1. Створення скриптів на
PHP.
1.2. Синтаксис
PHP.
1.3. Змінні в
PHP.
2. Можливості
мови.
2.1. Обробка
рядків.
2.2. Робота з файлами і
процесами.
2.3. Робота з базами
даних.
3. Використання
PHP.

1.
Введення

Перш за все, відповімо
на питання: що ж таке PHP? PHP – це система розробки скриптів,
включає в себе CGI – інтерфейс, інтерпретатор мови і набір
функцій для доступу до баз даних і різних об'єктів WWW. За
особисту думку автора цієї статті, на даний момент PHP є
найбільш зручним і потужним засобом розробки додатків WWW і
інтерфесом до БД в Інтернет.

1.1. Створення
скриптів на PHP

Система PHP
встановлюється на Web-сервер як обробника певного
mime – типу, аналогічно системі SSI (Server Side Include), тобто
PHP-скрипт являє собою звичайний html-документ з рідкими (або
не дуже:) вставками тегів PHP – команд. Завдяки цьому, створення
та налагодження скриптів PHP значно простіше, ніж налагодження і створення
скриптів на інших мовах (наприклад, C або
Perl).
Разом з тим, PHP забезпечує
розробнику дуже великі можливості при розробці додатків web
або активних сторінок, так як облдает значним набором функцій і
відносно великий гнучкістю.

1.2. Синтаксис
PHP

За своїм синтаксису
мова PHP найбільш схожий на класичний С, хоча видно і деякі
запозичення з Java і Perl. Принаймні, програміст на С
дуже швидко освоїть цю мову і зможе використовувати його з
максимальною ефективністю.
У принципі, в
PHP є практично всі оператори і функції, наявні в
стандартному GNU С (або їх аналоги), наприклад є цикли (while,
for), оператори вибору (if, switch), функції роботи з файловою
системою та процесами (fopen, * dir, stat, unlink, popen, exec),
функції введення-виведення (fgets, fputs, printf) і безліч
інших …
Одним з найбільших відмінностей PHP
від C – є використання змінних.

1.3. Змінні в
PHP

Перше, що впадає в
ока при використанні PHP – це відсутність типізованих
змінних, хоча якась типізація і присутній, але тип змінної в
кожному конкретному операторі залежить від контексту, наприклад
мінлива $str=”10″ при використанні її
в операторі echo($str) буде мати
рядковий тип (так, так, про char * можна
забути), а у висловах на кшталт $str=$str+1
буде оброблятися як число.
Хоча це
може здатися недоліком, дана особливість PHP має свій
сенс, тому що при обробці результатів форм введення html дуже
важко визначити первісний тип змінної, і крім того, всі
перобразованія типів можна звалити на php (і забути про
itoa і
atoi).
Також однією
з цікавих можливостей PHP є автоматичне перенесення
змінних оточення і параметрів скрипта в змінні PHP, причому
відпадає необхідність перекладу URL-кодованих значень змінних
в нормальні, наприклад при передачі скрипту параметра
str = text% 20with% 20spaces (запит типу GET
/ Some_script.php? Str = text% 20with% 20spaces HTTP/1.0) буде
утворена мінлива $str=”text with spaces”.

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

PHP має цілий ряд
вбудованих функцій для обробки об'єктів самого різного роду. (
PHP 3.0 Functions
reference )
Для прикладу ми коротко розглянемо такі
розділи, найбільш важливі з моєї точки зору
:
2.1. Обробка
рядків;
2.2. Робота з файлами і
процесами;
2.3. Робота з базами
даних;

2.1. Обробка
рядків


Робота з рядками в
php значно багатшими, ніж у С. Крім того, що існують практично
всі стандартні функції мови С, налічіствует безліч
додаткових функцій і можливостей, які як орієнтовані на
web, так і просто полегшують роботу. Зокрема конкатенація рядків
здійснюється наступним оператором:
$result_str=$first_str . $second_str;

В якості прикладів корисних для роботи в web
функцій можуть служити функції htmlspecialchars() ,
перетворююча в рядку символи типу & в
послідовність & або функція
urlencode(string str), перетворюючу
символи російського алфавіту в послідовність% XX, де ХХ –
шістнадцятковий код символу. Також досить цікаві функції роботи
з регулярними виразами, наприклад
$str=ereg_replace(“/usr/local/([^/]*)/filename”,
“\\1″,”/usr/local/dirname/filename”);
дасть нам рядок
$str=”dirname”. Або наприклад функція
explode, Особисто мене дуже порадовшая:
дана функція дозволяє перетворити рядок в масив значень,
наприклад для формування наступного елемента вибору



був використаний наступний код:

<?php
$ Strarray = explode (":"," Понеділок: Вівторок: Середа: Четвер: П'ятниця: Субота: Неділя ");
?>
<select
name=”dayofweek” size=”1″>

<?php for($i=0;$i<7;$i++) {
?>

<option>
<?php echo($strarray[$i]);
?>
</option>
<?php }
?>

</select>

2.2. Робота з
файлами і процесами

Робота з файлами у PHP
практично нічим не відрізняється від роботи з файлами в С, ті-ж
самі функції роботи з потоками або з блоковими файлами, fopen,
fclose, fread, fgets, fputs, fwrite, але є одна маленька, але
дуже приємна можливість працювати з файлами по їх URL, наприклад
можливі наступні конструкти:
$fp = fopen( “http://www.soft.ru/”, “r” );
$fp
= fopen( “ftp://www.soft.ru/”, “r” );
  
І, однією з найбільших принад PHP, на мою
думку є можливість використовувати інші програми, наприклад
для отримання списку поточної директорії використовувати стандартну
команду ls, Або відправляти пошту за допомогою
sendmail. Це досягається за допомогою того,
що php дозволяє створити процес, і працювати з його стандартним
введенням або стандартним виводом як із звичайним потоком. (Команда
popen, Наприклад
$fp=popen(“/bin/ls -l”,”r”); ).

2.3. Робота з
базами даних

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

Як приклад, наведемо код, який
виробляє вибірку з найпростішої таблиці, яка містить номери
телефонів і наімонованія компаній. У результаті роботи коду
вийшло наступне:















Назва фірми

Телефон

контора Купи-продай 222-33-44
ГлавСовСнаб 333-44-55
MuSt DiE 444-55-66

А сформована дання таблиця була
наступним php – кодом:

<! – Початок
таблиці ->
<table  width=”50%” 
border = "1" cellspacing = "0" cellpadding = "0"
align=”CENTER”>
  <tr>
   
<th width="75%"> Назва фірми </ th>

<th width="25%"> Телефон </ th>

  </tr>
<script 
language=”php”>
$sock=msql_connect
(“localhost”);  / / Єднаймося з SQL –
сервером

msql_select_db( “test”,$sock); 
/ / Вибираємо БД

$R=msql_query(
“select  *  from  db”,$sock);  / / Робимо запит

$T=msql_fetch_array($R); 
/ / Отримуємо перше
ряд з результату виконання
запиту

while  (is_array($T))  { 
/ / Поки є ряди
у запиті (тобто $ T –
масив)

</script>

  <tr>
    <td>
<?php  echo 
$T[name];  / / Роздруковуємо полі name
з поточного ряду

?></td>
    <td 
align = "center"> <? php echo $ T [phone];
/ / Роздруковуємо полі phone
з поточного ряду
?></td>
  </tr>

<?php  $T=msql_fetch_array($R); 
/ / Прочитуємо
наступний ряд
?> 
<?php  } 
/ / Кінець циклу
while 
?>

</table>
<! – Кінець
таблиці ->

3. Використання
PHP

Отже, поступово ми
приходимо до наступного висновку: використання PHP доцільно при
створення часто оновлюваних або громіздких в написанні програм,
швидкість виконання для яких не є критичним параметром
(Мається на увазі, що якщо різниця між часом виконання скрипта
на С і скрипта на PHP становить 10-20%, то цілком можна віддати перевагу
швидкість розробки швидкості виконання) і необхідно швидке
створення повнофункціонального додатки. (Якщо цікаво моя особиста
думка то крім PHP я використовую тільки C, і те, дуже
рідко.)

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


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

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

Ваш отзыв

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

*

*