Ladění aplikací
PHP stránka je textový soubor s příponou, která mívá většinou tvar .php, .php3, .php4 nebo .phtml. Uvnitř tohoto souboru najdete směsici kódu HTML a kódu PHP. Je velmi užitečné, že tyto dva zdroje jsou zde pohromadě a není již třeba editovat více souborů. PHP kód je od HTML kódu oddělen speciálními znaky, aby server mohl snadno určit způsob jeho interpretace prohlížeči. Pro označení začátku PHP kódu se používá nebo také . Kódy
označené těmito oddělovači můžeme vkládat do HTML, kde se nám zachce a také kolikrát budeme chtít, stačí dodržet základní podmínkou, že každé ohraničení má svůj začátek a konec a nelze do jeho obsahu vnořovat další stejná ohraničení.
<html>
<head>
<title>Můj první PHP skript</title>
</head>
<body>
<?php
// vypíšu na obrazovku svůj první text
echo "Ahoj světe";
# tak a první php skript mám za sebou
?>
</body>
</html>
Základní příkazy
ECHO
Toto je jeden z nejčastěji používaných příkazů PHP. Klasickým příkladem je výpis textu.
Nejjednodušší a nejběžnější způsob použití příkazu Echo je určitě klasický výpis textu na obrazovku.
<?php
echo "ahoj";
?>
Pokud ale budete chtít mít kód čitelnější i při delším textu, rozhodně se vám bude hodit ten fakt, že text můžete libovolně odsazovat pomocí Enteru.
<?php
echo "ahoj svete
tohle je moje ukazka
vypisu textu na obrazovku";
?>
Pokud chcete i při generování kódu HTML odřádkovat, použijte speciální kódu \n. Pozor, nezaměňujte s odřádkováním v prohlížeči! K tomu musíte použít klasické HTML značky <br> nebo <p>.
<?php
echo "Toto prijde na jeden radek\n toto uz na druhy radek";
?>
Předcházející vlastnost využijte v případě, že chcete mít svůj vygenerovaný HTML kód předávaný prohlížeči kultivovaný a čitelně odřádkovaný, jak naznačuje následující ukázka:
<?php
echo "<html>\n<head><title>test</title>\n</head>\n\n";
echo "<body>\npodivej se na zdroj stranky\n</body>";
echo "\n\n</html>
?>
A co v případě, že chcete zobrazit na obrazovce text, který obsahuje uvozovky? Opět použijte speciální kód. Stačí před všechny uvozovky, které chcete zobrazit na obrazovce, přidat zpětné lomítko.
<?php
echo "tento jazyk se jmenuje \"PHP\".";
?>
Alternativou k předchozímu kódu je použití apostrofů místo dvojitých uvozovek a vše funguje i bez speciálních kódů (uvozovek).
Do zobrazovaného řetězce můžete bez problému zasazovat také proměnné (které, jak si ukážeme, začínají znakem $) a není třeba kvůli tomu nijak komplikovat zápis jeho skladáním.
<?php
$jmeno="Jakub";
$prijmeni="Mach";
echo "jmenuji se $jmeno $prijmeni";
>
Pokud nechcete zobrazit hodnotu proměnné, ale pouze její název (například pro demonstrační ukázky), použijte pro ohraničení řetězce jednoduché uvozovky = apostrofy.
<?php
// program zobrazi: jmenuji se $jmeno $prijmeni
$jmeno="Jakub";
$prijmeni="Mach";
echo "jmenuji se $jmeno $prijmeni";
?>
Stejný výsledek dostaneme také v případě, že použijeme klasické dvojité závorky a zpětné lomítko před znakem "$".
<?php
// program zobrazi: jmenuji se $jmeno $prijmeni
$jmeno="Jakub";
$prijmeni="Mach";
echo "jmenuji se \$jmeno \$prijmeni";
?>
Z příkladů vyplývá, že odkazování na proměnné můžeme používat pouze v řetězcích ohraničenými dvojitými uvozovkami. Řetězce uzavřené do apostrofů interpretují celý svůj obsah jako normální text.
V mnoha případech je možné pro zobrazení textu na obrazovce použít úspornější zápis příkazu Echo, viz tento malý kód:
Jmenuji se <?= $prijmeni; ?>
PRINT
Print umí v zásadě to samé, co předchozí příkaz Echo. Hlavním rozdílem mezi nimi je fakt, že Print je, na rozdíl od Echa, funkce s platnou návratovou hodnotou. Poku zápis proběhne v pořádku, funkce vrátí hodnotu 1. V opačném případě O. Print má také pouze jeden vstupní parametr, kdežto Echo jich má neomezeně. Navíc Echo je také rychlejší, právě z důvodu nevracení žádné hodnoty, a proto se používá pro výpis častěji než funkce Print.
PHP disponuje několika speciálními znaky pro překladač, které je třeba znát. Již jsme na ně narazili v předchozích příkladech užití příkazu Echo. Zde je jejich souhrn:
| Kód |
Význam |
| \\/td>
| zpětné lomítko |
| \" |
uvozovky |
| \$ |
znak $ |
| \n |
nový řádek |
| \t |
odsazení |
Proměnné
Proměnná je místo v paměti počítače, které odkazuje na pojmenovanou hodnotu. Pokud si například chceme zapamatovat na určitou dobu, po kterou bude provádět určitý kus kódu, nějakou hodnotu, uložíme ji do proměnné a tuto hodnotu libovolně pojmenujeme. Později můžeme k tomuto paměťovému místu přistupovat přes zvolený název proměnné. Její platnost je variabilní a může trvat třeba pouze po dobu vykonávání skriptu či jeho části nebo po celou dobu připojení návštěvníka nebo dokonce po celou dobu spuštění aplikace. Proměnné mohou být různých datových typů. Zde jsou ty nejzákladnější:
integer
Používá se pro celá čísla, která mají rozsah v intervalu od -2 147 483 648 do +2 147 483 647.
double
Používá se pro desetinná čísla.
array
Používá se pro vícerozměrné proměnné.
string
Používá se pro řetězce. Protože je řetězec ohraničený vždy uvozovkami, tedy v případě, že je chcete uvnitř řetězce použít také, musíte před ně umístit zpětné lomítko, aby překladač tyto uvozovky dokázal odlišit.
Základní operace s proměnnými
Spojování řetězců
PHP používá pro spojování řetězců operátor ., kdy nejprve všechny své operandy převede na řetězce a poté je sloučí.
Zřetězení do nové proměnné
Poučeni o pravidlu spojování řetězců můžeme tedy sdružovat několik řetězců do nové proměnné. Toto provedeme následovně:
<?php
$staraprom="Dnes je:";
$novaprom=$staraprom." pondeli";
echo $novaprom;
?>
V PHP se pro komunikaci s databází MySQL používají funkce začínající na mysql. Před každou komunikací se serverem je potřeba se k němu připojit a po skončení práce se zase odpojit. Typické schéma práce s MySQL v PHP tedy vypadá takto:
<? mysql_Connect("localhost")?>
práce s databází
<? mysql_Close()?>
Podpora protokolu IMAP
| IMAP_8Bit | Zakóduje text metodou quoted-printable |
| IMAP_Append | Přidání textové zprávy do poštovní schránky |
| IMAP_Base64 | Dekódování textu zakódovaného metodou Base64 |
| IMAP_Binary | Zakódování textu metodou Base64 |
| IMAP_Body | Přečtení těla zprávy |
| IMAP_ClearFlag_Full | Smazání příznaků u zpráv |
| IMAP_Close | Uzavření spojení s IMAP-serverem |
| IMAP_CreateMailBox | Vytvoření nové poštovní schránky |
| IMAP_Delete | Označení zprávy pro smazání |
| IMAP_DeleteMailBox | Smazání poštovní schránky |
| IMAP_Expunge | Smazání všech zpráv označených pro smazání |
| IMAP_FetchBody | Přečtení jedné části těla dopisu |
| IMAP_FetchHeader | Přečtení hlavičky zprávy |
| IMAP_FetchStructure | Zjištění struktury zprávy |
| IMAP_Header | Přečtení hlavičky zprávy |
| IMAP_Headers | Získání hlaviček všech zpráv v poštovní schránce |
| IMAP_Check | Kontrola aktuální poštovní schránky |
| IMAP_ListMailBox | Zjištění všech dostupných poštovních schránek |
| IMAP_ListSubscribed | Zjištění všech poštovních schránek zapsaných k odběru |
| IMAP_Mail_Copy | Zkopírování zpráv do poštovní schránky |
| IMAP_Mail_Move | Přesunutí zpráv do jiné poštovní schránky |
| IMAP_MailBoxMsgInfo | Zjištění informací o aktuální poštovní schránce |
| IMAP_Num_Msg | Zjištění počtu zpráv v aktuální schránce |
| IMAP_Num_Recent | Zjistí počet nových zpráv ve schránce |
| IMAP_Open | Otevření spojení s IMAPser verem |
| IMAP_Ping | Kontrola aktivity spojení |
| IMAP_QPrint | Dekódování textu zakódovaného metodou quoted-printable |
| IMAP_RenameMailBox | Přejmenování schránky |
| IMAP_ReOpen | Nastavení aktuální schránky pro spojení |
| IMAP_RFC822_Parse_AdrList | Zjištění údajů z řetězce obsahujícího e-mailové adresy |
| IMAP_RFC822_Write_Address | Vytvoření korektní e-mailové adresy |
| IMAP_ScanMailBox | Nalezení schránek, které ve svém názvu obsahují daný text |
| IMAP_SetFlag_Full | Nastavení příznaků u zpráv |
| IMAP_Sort | Vrátí seznam zpráv setříděných podle určitého kritéria |
| IMAP_Subscribe | Přihlášení schránky k odběru |
| IMAP_UID | Vrátí identi.kační číslo zprávy |
| IMAP_Undelete | Zruší označení zprávy pro smazání |
| IMAP_Unsubscribe | Odhlášení schránky z odběru |
|