LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> PHP (23) - Neztraťte se ve funkcích

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 | Články autora | přečteno 41485×

Komerční sdělení: Pořádáme Kurzy PHP

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.

Základní okruhy funkcí

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ů.

Co si pamatovat nemusíte

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.

Manuál

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).

Praxe

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).

Co bude teď v seriálu

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.

Verze pro tisk

pridej.cz

 

DISKUZE

odkaz na http://cz.php.net/ 29.10.2009 18:46 Ján'Smethak'Miháľ




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

25.4.2014 6:51 /MaReK Olšavský
1. května 2014 nebude jen Svátek práce, ale programovací jazyk BASIC bude 50 letým veteránem, který se od snadného, leč pro větší projekty absolutně nevhodného, jazyka vypracoval do dnešní podoby, jíž reprezentuje například projekt Gambas. Na stránkách OpenSource.com se, u příležitosti výročí, objevila úvaha nad jeho vhodností, jakožto začátečnického jazyka vedle oblíbeného Pythonu.
Přidat komentář

25.4.2014 6:51 /MaReK Olšavský
První RC nového RHELu 7 poměřil Michael Larabel s konkurencí, z níž je nejzajímavější porovnání s CentOS 6.5. Výsledky jsou zatím „relativně rozházené“, RHEL 7 bude ještě doladěn, ale v tomto segmentu je malá ztráta rychlosti menší zlo, než nestabilita, nebo špatné zabezpečení.
Přidat komentář

24.4.2014 7:06 /MaReK Olšavský
Staré hry (opravdu staré z 80. let 20. století) jsou stále velmi oblíbené a hrajeme je především v emulátorech. Pokud máte rádi takto staré hry a chcete tip na nejbližší dny, určitě i prodloužené víkendy díky svátkům, stojí za povšimnutí distribuce Puppy Arcade 11, která na USB klíčence nabídne emulátory nejběžnějších platforem z éry domácích počítačů, i s dostatečnou zásobou her.
Přidat komentář

24.4.2014 7:06 /MaReK Olšavský
V srpnu 2013 otevřela IBM svou architekturu Power, v rámci OpenPower Foundation, a nyní představila řadu Power serverů, v něž vkládá naděje, pro udržení architektury Power při životě. Servery si pochopitelně rozumí s GNU/Linuxem. BTW: Postrádám jedině verzi v tower-case, jež by vyhovovala menším firmám, které nechtějí (nebo nemají kam postavit) rackovou skříň.
Přidat komentář

24.4.2014 7:06 /MaReK Olšavský
CERN se nemalou měrou podílí na vývoji Sceintific Linuxu (fork RHELu, podobně jako CentOS), přičemž Red Hat je pro CERN důležitou distribucí, na níž běží téměř 600 důležitých serverů.
Přidat komentář

24.4.2014 7:06 /MaReK Olšavský
Aktuální Weekly Feature Digest 26, jenž shrnuje novinky PC-BSD, fakticky ohlašuje práci na novém desktopu (správci oken) Lumina. Je desktopů a správců oken snad málo?
Přidat komentář

23.4.2014 7:29 /MaReK Olšavský
Čínská firma Lemaker představila konkurenci Raspberry Pi, SBC Banana Pi s 2 jádrovými SoC Allwinner A20 (Cortex-A7) o frekvenci 1 GHz, a (konečně) jedním SATA konektorem. GPIO header by měl být kompatibilní s R-Pi i možnosti připojení jsou stejné.
Přidat komentář

23.4.2014 7:29 /MaReK Olšavský
Bezpečnostní chyba „Heartbleed“ v OpenSSL se dostala i do hlavních zpráv světových médií a pravděpodobnost objevení další je nenulová. Naprostá dominance (OpenSSL má téměř monopolní postavení) pak znamená ohrožení opravdu velkého počtu uživatelů. Stávající OpenSSL je vyvíjené dlouhou dobu a Theo de Raadt se rozhodl pro vytvoření forku LibreSSL, který přinese i značné vyčištění API.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

7.4.2014 6:31 / MaReK Olšavský
Re: No, nevím

4.4.2014 10:22 / Petr Ježek
No, nevím

4.4.2014 10:18 / Petr Ježek
ATI

24.3.2014 13:54 / Michal Linha
Re: Delimiter

24.3.2014 13:46 / Michal Linha
Re: Delimiter

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2014) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze | zákony online