WA1: Jazyk PHP

Jazyk PHP

WA1 pátá přednáška

Ondřej Žára, @0ndras

Dynamický web

PHP Hypertext Preprocessor

Trocha historie

PHP: Výhody

PHP: Nevýhody

Syntaxe I

$num = 123; $str = 'hello ' . "world $num"; // hello world 123 $ahoj = "world" // Parse error: syntax error

Syntaxe I

Syntaxe II

define("KONSTANTA", 8); $a = "b"; $$a = KONSTANTA; echo $b; // 8 function plus($a, $b = 1) { return $a + $b; }

Syntaxe II

Syntaxe III

if ($a == "b") { ... } for ($i=0; i<count($pole); $i++) { ... } try { ... } catch ($e) { ... } switch ($x) { case $y: break; }

Syntaxe III

Viditelnost proměnných

$pi = 3.14; $foo = "bar"; function plus($a, $b) { // $pi nevidime global $foo; // $foo vidime return $a + $b; }

Superglobální proměnné

Pole v PHP

$pole = array("jablka", "hrušky", "červi"); count($pole); // 3 for ($i=0; $i<count($pole); $i++) { echo $pole[$i]; } $pole["strom"] = "třešně"; // ??? count($pole); // 4

Pole v PHP

Iterace

$pole = array("foo", "bar"=>"baz"); print_r($pole); foreach ($pole as $value) { echo $value; } foreach ($pole as $key => $value) { echo $key; echo $value; }

Zpracování chyb

error_reporting(E_ALL); set_error_handler("jmeno_funkce"); // bude zavolana pri chybe

Začátečnická chyba I

http://php.net/jmeno_funkce_kterou_hledam

echo ahoj; // PHP Notice: Use of undefined constant ahoj - assumed 'ahoj'

Začátečnická chyba II

if ($pole[$index]) { ... } // PHP Notice: Undefined index if (array_key_exists($index, $pole)) { ... } if (isset($pole[$index])) { ... }

Modularizace kódu

Mix PHP a HTML

<!-- soubor.html --> <?php $a = 13; ?> ...normalni html <znacky>... <?php echo $a; ?>

Závěrem

Další čtení

Prostor pro otázky