PHP – система розробки скриптів, 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
?>
<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>
   

Назва фірми

Телефон

  </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>

*

*