Základy PHP
Komentáře
jednořádkové - #, // víceřádkové - /* ... */
Výstup
echo - vrací void
print - vrací boolean, trošku pomalejší
printf - to samé jako print, akorát navíc argument format pro formátování
sprintf - to samé jako printf, akorát se nepředá na výstup, ale přiřadí se nějakému řetězci
Složené datové typy
Pole - shromažďuje podobné prvky dohromady, umožňuje je uspořádat a odkazovat se na ně specifickým způsobem
Objekt - deklarován explicitně, deklarace uvnitř třídy class, z ní se pak pomocí new vytvoří objekt (instance)
Speciální datové typy
Resource - handle jsou tímto typem a drží ukazatel na připojené zařízení
Null - rozpoznává jedinou hodnotu Null, hodnota není nebo chybí - bylo nastavenou na žádnou hodnotu, byla ji přiřazena hodnota Null, byla odstraněna pomocí funkce unset()
Přetypování
(typ)$promenna
Jakýkoliv datový typ lze převést na objekt, proměnná se stane atributem objektu a atribut bude mít název scalar.
$celkem = "45 něčeno"; $prijizdi = 10; $celkem = $prijizdi + $celkem; // $celkem = 55
protože $celkem začíná celým číslem - kdyby nezačínalo, tak se vezme 0
settype(promenna, typ) - vraci true nebo false
gettype(promenna) - vraci typ promenne
is_double(promenna)
Identifikátory
- začínat písmem nebo podtržítkem - rozlišuje se velikost písmen
Proměnné
Přiřazení hodnotou - $barva = "červená";
Přiřazení odkazem - vytvoříme proměnnou, která se odkazuje na stejný obsah jako nějaká jiná proměnná $hodnota1 = "Ahoj"; $hodnota2 =& $hodnota1; $hodnota2 = "Nashle"; // obe hodnoty obsahují "Nashle"
Obor proměnné
Lokální proměnné - deklaruje se uvnitř nějaké fce, dá se na ní odkazovat pouze uvnitř této fce, jakékoliv přiřazení vně se bude považovat za zcela jinou proměnnou
Parametry funkce - argumenty v záklaví fce, nejsou dostupné jakmile práce fce skončí
Globální proměnné - můžeme k nim přistupovat v kterékoliv části programu, chceme-li nějakou fci modifikovat, musíme ji explicitně deklarovat jako globální v té fci, kde má být modifikována - pomocí GLOBAL
Statické proměnné - při ukončení fce sbou hodnotu neztratí a bude ji stále mít až se fce zavolá znovu, klíčové slovo STATIC UŽITEČNÉ U REKURSIVNÍCH FUNKCÍ
Superglobální proměnné
$_SERVER - obsahuje informace, které vytvoří webový server $_SERVER['HTTP_REFERER'] $_SERVER['REMOTE_ADDR'] $_SERVER['REQUEST_URI'] - část URL vyjadřující cestu $_SERVER['HTTP_USER_AGENT']
$_GET
$_POST
$_COOKIE - nastavené pomocí fce setcookie()
$_FILES - informace o datech, která byla na server nahrána metodou post, jedná se o 2 rozměrné pole s 5 prvky $_FILES['upload_name']['name'] - původní název souboru klienta $_FILES['upload_name']['type'] - MIME typ, záleží na schopnostech prohlížeče $_FILES['upload_name']['size'] $_FILES['upload_name']['tmp_name'] - dočasný název na serveru než se presune na finální umístěni $_FILES['upload_name']['error'] - stavový kód nahrání UPLOAD_ERR_OK - úspěšně se nahrál UPLOAD_ERR_INI_SIZE - velikost přesáhla max povolenou velikost, která byla nastavena direktivou upload_max_filesize UPLOAD_ERR_FORM_SIZE - velikost přesáhla povolenou velikost, kterou stanovil volitelný parametr MAX_FILE_SIZE skrytého pole formuláře UPLOAD_ERR_PARTIAL - nahrála se jen část souboru UPLOAD_ERR_NO_FILE - v nahrávacím formuláři nebyl specifikován název souboru
$_ENV - informace týkající se podkladového serverového prostředí $_ENV['HOSTNAME'] - hostitelský název serveru $_ENV['SHELL'] - systémový shell
$_REQUEST - zachycuje všecko možné, zaznamenává proměnné předávané do skriptů, není bezpečné
$_SESSION - obsahuje infotmace týkající se všech proměnných sezení
$GLOBALS - obsahuje výpis všech proměnných s globálním oborem, dostaneme se k nim pomocí print_r($GLOBALS);
Proměnné proměnné
$recept = "špagety"; $$recept = " a masové kuličky"; print $recept.$špagety; print $recept.${$recept}; // obě vypíší "špagety a masové kuličky"
Konstatny
- nejde je modifikovat v průběhu programu - definují se fcí define() - bool define(nazev, hodnota, case-insensitive (nepovinný)); - odkaz na ní nezačíná dolarem - konstanty jsou globální
Operátory
+=, *=, /=, .=
= má asociativitu zprava doleva
++$a vs. $a++
$oldInv = $inv++; // do oldInv se přiřadí hodnota $inv a teprve pak se k $inv přičte 1
$origInv = ++$inv; // přičte se 1 k $inv a pak se $inv přiřadi k $origInv
Ternární operátor: ($a == 12) ? 5 : -1 // rovná-li se a 12, návratová hodnota 5, jinak -1
Řetězce
Uvozovky ""
Parser zvládne patřičné proměnné i řídící znaky.
Apostrofy ''
Řetězec se bude interpretovat přesně tak jak je je napsaný.
heredoc
Pro vypsání většího množství textu. Nemusíme řetězec uzavírat do uvozovek ani apostrofů.
Př: $website = "aa"; echo <<
....... NASNAZEV; ?> Otevírací i zavírací identifikátory musejí být identické. Dodržuje pro parser stejná pravidla, jaká platí u řetězců v uvozovkách. Uzavírací identifikátor musí začínat úplně na začátku řádku.
Řídící struktury
Declare
Příkazem declare se určuje frekvence vykonávání specifického bloku kódu.
Switch
switch($promenna) { case "aaa": echo "bbb"; break; default: echo "ccc"; }
do { ... } while(...)
Provede se alespoň jednou.
Foreach (pro procházení polí)
foreach ($pole as $hodnota) { echo $hodnota; }
foreach ($pole as $klic => $hodnota) { echo $klic.$hodota; }
Break
Okamžitě se ukončí vykonávání bloku (do, while, for, foreach, switch).
Continue
Ukončí vykonávání aktuální iterace a pokračuje se zahájením další iterace.
Vkládání souborů
include()
Vloží soubor přesně na to místo, kde je tento výraz.
V podmínce musí být vždy obklopeno {}.
Kód nalezený ve vkládaném souboru zdědí obor proměnných podle umístění svého volajícího.
include_once()
require()
1. Soubor se vždy vloží do skriptu bez ohledu na to, kde je jeho volání (např. i v podmínce, která bude false).
2. Vykonávání skriptu se zastaví, jestliže require() selže.
Základy PHP
Added: 2009-04-14 05:08:51
From: (Joined 2009-03-19 04:54:33)
901 views |5 downloads
Základy PHP