Funkcí v PHP je nepřeberné množství. Dnes si
letmo shrneme, co všechno tento jazyk vlastně umí a co z toho se
vyplatí vědět z hlavy.
12.7.2004 15:00 | Petr Zajíc | přečteno 51372×
PHP je jazyk vybavený mnoha funkcemi. Když se s ním setkal poprvé,
trochu mě to odradilo. Dnešní díl seriálu má za cíl
čtenáře uklidnit. Není totož nutné všechno si pamatovat, ale je
dobré alespoň vědět, že nějaké možnosti existují. I profesionál
pracující s PHP běžně využívá jen asi 10% existujících prvků tohoto
mocného programovacího nástroje.
Již jsme se podívali na převážnou většinu toho, co budete při práci
s PHP potřebovat neustále. Jsou to základní příkazy a funkce. Čistě pro
osvěžení - byla řeč o následujících prvcích PHP: Echo,
operátory, výrazy, pole, příkazy pro řízení toku a některé příkazy pro
formátování data a času. Shrňme si teď určité okruhy funkcí v PHP,
které se vyplatí při vážné práci znát, nejlépe z hlavy. To samozřejmě
neznamená, že se je musíte hned naučit. Spíš jsou to věci, které
pravděpodobně budete potřebovat opakovaně.
Funkce pro práci z řetězci
Ty budete v PHP potřebovat neustále. Ořezání, nahrazení řetězce,
vyjmutí jeho části anebo formátování jsou dobrý příklad. Tyto funkce
budete muset znát téměř jistě, protože prohlížeči se nakonec ke
zobrazení posílají stejně řetězce.
Odesílání e-mailů
PHP umí odeslat e-mail. To je funkce, kterou velmi oceníte a jistě
využijete při tvorbě vlastních stránek. Pomocí rozšiřujících knihoven
dokonce PHP umí posílat i zprávy s přílohami a tak dále.
Funkce pro práci se soubory
Umět soubory vytvořit, odstarit, zapsat do nich, nahrát je na server
nebo smazat se vždycky hodí.
Tomuto
tématu se v našem seriálu budeme zanedlouho podrobně věnovat, takže se
máte na co těšit.
Funkce pro práci s databázemi
PHP podporuje spolupráci s mnoha databázemi. Tomu se při vážné práci
nevyhneme. A nevyhneme se tomu ani v našem seriálu. Téma databází je
velice rozsáhlé a bude to na několik dílů.
Pokud nemáte fenomenální paměť nebo pokud ji máte, ale nechcete se
zatěžovat zbytčnostmi, můžete na zbytek funkcí PHP s klidným svědomím
zapomenout. Existují úzce specializované skupiny úloh, na které PHP má
celé sady funkcí, ale které se nepoužívají tak často. Patří mezi ně
funkce pro komprimaci a dekomprimaci, funkce pro práci s přesnou
matematikou, funkce pro práci se specifickými protokoly (třeba LDAP),
funkce pro přenosy souborů pomocí FTP, funkce pro kreslení obrázků,
šifrovací funkce, funkce specifické pro práci s nějakým serverem
(hlavně Apache), funkce specifické pro práci s nějakým operačním
systémem (dokonce i Windows) a
mnoho dalších.
Pamatujte si, že tolik funkcí zde není proto, aby to uživatele děsilo, ale proto, aby mu to ulehčilo život. Budete-li programovat něco speciálního (třeba tvorbu PDF pomocí PHP), pravděpodobně se související funkce budete chtít naučit. Pokud ale budete dělat běžné webové aplikace, vystačíte s minimem.
Pro věci, které si pamatovat nemusíte je tu PHP manuál. Narozdíl od
mnoha manuálů, které jsem viděl je tenhle docela užitečný, protože
obsahuje kromě věcí jako jsou popisy funkcí a příklady použití také
komentáře jednotlivých
uživatelů. Manuál najdete na adrese http://cz.php.net/manual/cs. Je
to rádoby česká, částečně přeložená verze. Uživatelské komentáře bývají
většinou v angličtině, ale často obsahují příklady a pochopíte je i
tehdy, pokud v angličtině nejste moc zběhlí.
Jednotlivé funkce mají logicky pojmenované související stránky v
doumentaci. Například funkce date má stránku http://cz.php.net/manual/cs/function.date.php,
funkce print stránku http://cz.php.net/manual/cs/function.print.php
a tak dále.
Manuál není k dispozici pouze on-line, ačkoli je to asi to nejlepší. Pokud chcete nebo musíte vyvíjet PHP bez možnosti připojení k internetu (brr), můžete si manuál stáhnout ve formě souborů html (pokud byste chtěli mermomocí něco pod Windows, tak se dá pořídit manuál i jako soubor chm, tedy Windows help).
Až na malé výjimky se vyplatí používat nejnovější verzi PHP, protože někreré funkce bývají do nových verzí přidány nebo tam jsou rozšířeny. Anebo taky opraveny, pokud se dříve chovaly špatně. Když ale vyvíjíte komerční aplikaci, pamatujte, že byste se měli spoléhat jen na funkce podporované ve verzi PHP běžící na serveru, na němž bude aplikace umístěna. Často bývá nemožné nebo náročné přimět správce vzdáleného systému k tomu, aby upgradoval PHP, zejména když jediným důvodem upgrade je kód spoléhající na nejnovější verzi jazyka.
I když si myslíte, že pro činnost, kterou chcete dělat znáte odpovídající funkci nebo funkce, vyplatí se podívat se do dokumentace, zda se to nedá provést nějakým kratším způsobem. Například jsem kdysi dávno potřeboval funkci, která by odstranila diakritiku z textu, abych jej mohl odeslat jako zprávu na mobilní telefon. Nejprve mě napadlo použití konstrukce case, ale bylo by to moc dlouhé. Potom jsemu zvažoval použití funkce str_replace, která v řetězci nahrazuje některou jeho část jiným řetězcem. To už by mohlo být trochu kratší. A pak jsem se dozvěděl o funkci StrTr. Výsledek byl zhruba následující:
<?
function BezDK($text)
{
return StrTr($text,"áčďěéëíľĺňóöřšťůúüýž","acdeeeillnoorstuuuyz");
}
echo BezDK ("žluťoučký kůň pěl
ďábelské ódy");
?>
Pěkné, že? (Pokud máte někdo kratší řešení, můžete přispět do
diskuse).
Náš seriál se nyní přehoupne z naprostého úvodu k pokročilejším
tématům. Budeme několik dílů věnovat postupně třem okruhům: Zpracování formulářů, práci se soubory a práci s databázemi. Každé z témat zakončíme
nějakým použitelným příkladem, takže se máte na co těšit. Zčásti tato
témata kopírují ty věci, o kterých jsem prohlásil, že stojí za to se je
naučit; takže v závěru seriálu byste měli mít znalosti na sestavení
středně rozsáhlého webu.
Mimochodem, vymýšlení dostatečně jednoduchých a přitom popisných příkladů není žádná hračka - takže pokud máte nějaký nápad co bychom mohli ukázat jako příklad, můžete se realizovat v diskusi pod tímto článkem.