PHP ýòî ñêðèïòîâûé server-side ÿçûê ïðîãðàììèðîâàíèÿ,
ïðåäíàçíà÷åííûé â îñíîâíîì äëÿ âêëþ÷åíèÿ â html ñòðàíèöó è
âûïîëíÿåìûé ñåðâåðîì ïåðåä âûäà÷åé ñòðàíèöû áðàóçåðó. PHP î÷åíü
ïîõîæ íà ASP (ñóùåñòâóåò äàæå êîíâåðòîð asp2php), íî ïðèñïîñîáëåí ê
unix-like ñèñòåìàì è ÷àùå âñåãî óïîòðåáëÿåòñÿ ñ web-ñåðâåðîì apache,
õîòÿ ìîæåò ðàáîòàòü è ñ MS IIS è â ïðèíöèïå ñ ëþáûì äðóãèì
âåá-ñåðâåðîì. Êðîìå òîãî, PHP3 ÿâëÿåòñÿ
îáúåêòíî-îðèåíòèðîâàííûì.
Íà ìîé âçãëÿä,
îñíîâíîå ïðåèìóùåñòâî PHP - ïðîñòîòà, ãèáêîñòü è ñêîðîñòü
âûïîëíåíèÿ. Ìíå, íàïðèìåð, ïîíàäîáèëîñü ìèíóò 15 äëÿ ïðîñìîòðà
ìàíóàëîâ è ïðèìåðîâ, äëÿ òîãî, ÷òîáû ïåðåâåñòè âåñü êîíòåíò ìîåãî
ñàéòà íà SQL (ïîäðîáíåå â ñëåóäþùèõ ØÀÃ-àõ) è íàïèñàòü php-ñêðèïò
äëÿ âûäà÷è åãî â html êîäå ñ øàáëîííûì äèçàéíîì. Çà÷åì òàê ñëîæíî? À
âîâñå è íå ñëîæíî. Òåïåðü, ÷òîáû âûëîæèòü íà ñàéò íîâóþ ñòàòüþ èëè
ïðîñòî íîâîñòü, ÿ âñåãî ëèøü äîáàâëÿþ íîâóþ çàïèñü íà sql ñåðâåðå ñ
ïîìîùüþ MS Access èëè web-èíòåðôåéñà sql, íàïèñàííîãî êñòàòè òîæå íà
php, à ïðè çàïðîñå ñòðàíèöû ïîëüçîâàòåëåì ñîîòâåòñòâóþùèé
php-ñêðèïò âûóæèâàåò èç sql òî, ÷òî åìó íàäî è âûäàåò óæå êðàñèâî
îôîðìëåííóþ, ãîòîâóþ ñòðàíèöó.
SQL. Âîò ýòî
ÿâëÿåòñÿ åùå îäíèì ïðåèìóùåñòâîì PHP, òàêîå âïå÷àòëåíèå, ÷òî îí
(PHP) ïðîñòî ðîæäåí ñóùåñòâîâàòü â ñâÿçêå apache+php+sql. Äëÿ ñâîé
ðàáîòû ÿ âûáðàë MySQL, êîòîðûé òàêæå ñóùåñòâóåò è ïîä linux è ïîä
win9x/NT.
 êà÷åñòâå
èëëþñòðàöèè ïðîñòîòû php, ïðåäëàãàþ ïðèìåð, ïåðåäàþùèé ñïèñîê ôàéëîâ
â òåêóùåì êàòàëîãå.
<HTML><BODY>
Ñïèñîê ôàéëîâ:
<?
$dir =
opendir(".");
while($file = readdir($dir))
echo
"$file<BR>";
closedir($dir);
?>
</BODY></HTML>
Êîä, ïîìåùåííûé
â òåãè <? è ?> íå ïåðåäàåòñÿ
áðàóçåðó, à âûïîëíÿåòñÿ íåïîñðåäñòâåííî íà ñòîðîíå ñåðâåðà. À
âûäàåòñÿ òî, ÷òî âûâîäèò êîìàíäà echo. ß äóìàþ, ÷òî
÷åëîâåê, ìàëî-ìàëüñêè çíàþùèé õîòÿ áû îäèí ÿçûê ïðîãðàììèðîâàíèÿ,
ïîéìåò ýòîò ïðèìåð áåç ïðîáëåì. Êàæåòñÿ, PHP ïîõîæ íà C? èëè Perl?
èëè Basic? À âîò ê ñòàòè òîò æå ïðèìåð â ÎÎÏ
âàðèàíòå:
<?
$dir = dir(".");
while($file =
$dir->read())
echo
"$file<BR>";
$dir->close();
?>
È âåäü âû ìîæåòå
ýòî ïèñàòü â ñâîåì ëþáèìîì html ðåäàêòîðå! Ëè÷íî ÿ íàñòîëüêî ïîëþáèë
ýòîò ÿçûê, ÷òî ïèøó â íåì è ñêðèïòû äëÿ linux shell (õîòÿ ýòî óæå èç
îáëàñòè XXX ;) è äàæå ïîä dos/win. À çàïóñòèòü ñêðèïò èç øåëà ïðîùå
íåêóäà: php3 -q <filename> ïîëó÷àåòñÿ îòëè÷íûé
èíòåðïðåòàòîð.
À âîò, äëÿ
íàãëÿäíîñòè, åùå ïðèìåð äëÿ ðàáîòû ñ MySQL:
<?
$conn=mysql_connect("127.0.0.1");
if
(mysql_select_db("db",$conn))
{
$res=mysql_query("select * from tabl",
$conn);
while(($data=mysql_fetch_row($res)))
echo("$data[0]
$data[1] ");
} else
echo "Error!
";
?>
Ýòîò ñêðèïò
âûâîäèò òàáëèöó tabl èç áàçû äàííûõ db íà
ëîêàëüíîì MySQL ñåðâåðå.