PORTÁLOVÉ SYSTÉMY
Přednáška č. 5 a č. 6
Jan Górecki
gorecki@opf.slu.cz
>
PHP
•Skriptovací programovací jazyk
–Skript je v informatice zdrojový kód programu, který je tzv. interpretován, tj. čten a spouštěn za
běhu speciálním procesem, tzv. interpretem
–Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či WML
–PHP se používá na realizování úkonů, které nejdou bez pomoci serverových programů vytvořit
•Kombinuje vlastnosti více programovacích jazyků a nechává tak vývojáři částečnou svobodu v syntaxi
PHP
•PHP skripty jsou většinou prováděny na straně serveru
server_skript
PHP
•PHP je specializovaný na webové stránky
•Rozsáhlý soubor funkcí v základní knihovně PHP
•Nativní podpora mnoha databázových systémů
•Multiplatformost (zejména Linux, Windows)
•Možnost využití nativních funkcí operačního systému (možná nekompatibilita s jiným OS)
•Strmá křivka učení
•Podpora na hostingových službách – PHP je fakticky standardem, který najdeme téměř všude
•Velké množství projektů a kódů, které lze zdarma využít (WordPress, phpBB a další)
•Poměrně slušná dokumentace
•Svobodná licence
•
PHP
•Soubor text.php
•
Základní PHP skript
PHP
•
•
•
• První PHP kód
•
•
•
•
•
•
•
Uložení s příponou *.php
PHP
•EasyPHP 14.1 (nebo libovolná jiná verze)
–PHP
–MySQL
–Apache
–PHPMyAdmin
•Pracovní složka
–C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb
Exkurze do PHP
•Proměnné
•Operátory
•Větvení
•Cykly
•Příklady
•
•
•Více na http://www.tvorba-webu.cz
•http://www.w3schools.com/php/default.asp
•
PHP
•Proměnná
–$cislo = 5;
–$cislo = "pět";
–
$vek = 14;
echo "Je mi $vek."
?>
PHP
Operátor
Funkce
Příklad
+
Sčítání
$a + $b
-
Odčítání
$a - $b
*
Násobení
$a * $b
/
Dělení - podíl
$a / $b
%
Modulo - zbytek po dělení
$a % $b
Operátor
Funkce
Příklad
=
Přidělení - je rovno
$a = $b
+=
Přidělí proměnné hodnotu jakou měla a ještě přičte(5)
$a += 5
.=
Vlastně přičítá řetězce(když $a je A, tak výsledek bude Ahoj)
$a .= "hoj"
Operátor
Výsledek
Příklad
==
TRUE - je-li rovno
$a == $b
===
TRUE - je-li rovno a je stejného typu
$a === $b
!=
TRUE - není-li rovno
$a != $b
<>
TRUE - není-li rovno
$a <> $b
!==
TRUE - není-li rovno a není stejného typu
$a !== $b
<
TRUE - menší než
$a < $b"
>
TRUE - větší než
$a > $b
>=
TRUE - větší nebo rovno
$a >= $b
<=
TRUE - menší nebo rovno
$a <= $b
Operátor
Funkce
Příklad
and
TRUE - pokud jsou proměnné true
$a and $b
or
TRUE - pokud je jedna proměnné true
$a or $b
xor
TRUE - pokud je jedna proměnné true, ale ne obě
$a xor $b
!
TRUE - proměnná není true
! $a
&&
TRUE - pokud jsou proměnné true
$a && $b
||
TRUE - pokud je jedna proměnné true
$a || $b
Tučné nazpamět!!
PHP – typy proměnných
Typ
Význam
String
Text, řetězec (sada znaků), příklad: $retezec = "obyčejný text";
Integer
Celé číslo, se kterými je možné pracovat, počítat, příklad: $cislo = 2;
Float, real nebo double
Desetinné číslo
Boolean
Logická proměnná, hodnota PRAVDA, NEPRAVDA (1, 0), zapisuje se TRUE nebo FALSE
$retezec = "obyčejný text";
$celecislo = 2;
$desetinnecislo = 0.2;
$logickapromenna = TRUE;
Větvení v PHP
•if (podmínka) proces1;
•else proces2;
•
•$a=1;
•$b=2;
•if ($a == $b) {
• echo ("Jsou si rovny.");
• echo ("a i b mají stejnou hodnotu");
•}
•
PHP větvení 2
•If, else a elseif
if (podmínka)
proces1;
elseif (podmínka2)
proces2;
elseif (podmínka3)
proces3;
else
poslední proces;
$a = 5;
if ($a==4)
echo("4");
elseif ($a<4)
echo("menší než 4");
else{
if($a>4 && $a<7){
echo("číslo je větší než 4 a menší než 7");
}
else echo($a);
}
Pythagorův trojúhelník
•Máme-li tři čísla a, b, c. Tato čísla odpovídají délkám stran nějakého trojúhelníku.
•Jak zkonstruujeme v PHP podmínku, která bude pravdivá pouze v případě, že trojúhelník je
pravoúhlý?
Cykly v PHP
•Cyklus DO WHILE
•$c = 1;
•do {
• echo($c . " ");
• $c++;
•}
•while($c<101);
Cykly v PHP
•Cyklus WHILE
•$c = 1;
•while($c<101){
• echo($c . " ");
• $c++;
•}
•
Cykly v PHP
•Cyklus FOR
•for($c=100; $c>=1; $c--){
• echo($c." ");
•}
Příkaz přerušení cyklu - BREAK
•$a = 0;
•while ($a<10) {
• if($a == 5) break;
• $a++;
• echo($a . "
");
•}
Příkaz k opakování cyklu - CONTINUE
•$a = 0;
•while ($a<10) {
• if($a == 5) break;
• $a++;
• if($a == 3) continue;
• echo($a . "
");
•}
Součet sudých čísel
•Využijte cyklů v PHP k vypsání prvních n sudých přirozených čísel
Funkce
•definice:
•function napis(){
• echo("ahoj");
•}
•
•spuštění:
•napis();
•
Funkce s argumentem
•function napis($jmeno){
• echo($jmeno);
•}
•
•napis("dobrý večer"); //napíše dobrý večer
•napis("ahoj"); //napíše ahoj
•napis("dobré ráno"); //napíše dobré ráno
Funkce vracející hodnotu
•function vrat($cislo){
• return $cislo*2;
•}
•
•echo(vrat(20));
•echo(vrat(100)/vrat(10))
Rekurze
•
•
•Zpracujte v PHP pomocí funkcí následující rekurzi (výpočet faktoriálu):
•faktoriál(N):
• pokud N = 0, potom výsledek = 1,
• jinak výsledek = N * faktoriál(N - 1)
http://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Sierpinski.svg/800px-Sierpinski.svg.png
https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRaKrkprDnokmM3SEYy9lOJVQhcXcbak_1D5M2bIErG2t8
YNubLcQ
Pole
•$pole = array ("mrkev", "celer", "brambory");
•echo($pole[0]); //vypíše 'mrkev';
•
•$zahrada = array (3 => "jablon", "hrusen");
•echo($zahrada[4]); //vypíše 'hrusen';
•
•$sklenik[1] = "redkvicky"; //postupné přiřazování prvků i s indexem(1)
•$sklenik[3] = "fazole";
Pojmenované pole
•$pole["br"] = "brambor";
•$pole["kv"] = "kvetak";
•echo("nemám rád ".$pole["br"]." ani ".$pole["kv"]); //nemám rád brambory ani květák
•
•$knihy = array("js" => "JavaScript v příkladech", "php" => "PHP pro profesionály");
•echo($knihy["js"]);
Procházení polem
•$dodelat = array("PHP", "CSS", "SQL", "XML");
•
•for ($p = 0; $p < count($dodelat); ++$p){
• echo ("je třeba dodělat ".$dodelat[$p]."
");
•}
Procházení pojmenovaným polem
•$pole["PHP"]="Hotové";
•$pole["CSS"]="Rozepsané";
•$pole["XML"]="Hotové";
•$pole["SQL"]="Nezačaté";
•
•reset($pole);
•while(list($index, $stav) = each($pole)){
• echo ($index." - ".$stav."
");
•}
Globální proměnné
•
Skládání více stránek pomocí PHP
•
Děkuji za pozornost