Jazyk PHP - pokračování
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Vše, co potřebují k životu jsou vstupní parametry
Vše, co potřebují k životu jsou vstupní parametr
kuk (matematika.php)
kuk (matematika.php
<?
class Matematika {
// vypocita maximum ze dvou zadanych cisel
// vypocita maximum ze dvou zadanych cise
public static function maximum ($a, $b) {
return $a > $b?$a:$b;
}
}
echo "Vetší z čísel 2 a 3 je číslo:
".Matematika::maximum(2,3);?>
NÁVRHOVÉ VZORY
NÁVRHOVÉ VZOR
Vzor
Vzor Factory
Factor – příklad z DB
příklad z D
Aplikační logika
DB abstraktní vrstva
MySQL
PosgreSQL
Oracle
Sybase
....
Vzor Factory
Vzor Factor
•connect($param)
•query($sql)
•X
DBLayer
Implements
Abstraktní vrstva
- interface
•connect($param)
•query($sql)
•X
PGDBLayer
•connect($param)
•query($sql)
•X
MYSQLDBLayer
kuk kosik_objektovy1.5.php
Implementace X
Implementace Y
Vzor Factory
Vzor Factor
Používá se tehdy, když chceme získat instanci
Používá se tehdy, když chceme získat instanci
nějakého objektu, ale nechceme se starat o to, jak
nějakého objektu, ale nechceme se starat o to, jak
tento objekt vytvořit
tento objekt vytvoři
Příklad:
Příklad
– chceme přistupovat k databázi
chceme přistupovat k databáz
– databází je ale mnoho různých druhů (mysql, oracle, X)
databází je ale mnoho různých druhů (mysql, oracle,
– databází je ale mnoho různých druhů (mysql, oracle,
databází je ale mnoho různých druhů (mysql, oracle
– všechny db implementují stejné rozhraní
všechny db implementují stejné rozhran
Vzor
Vzor Factory
Factor Imp
Im l 1/2
/
interface DBLayer {
public function connect($param);
public function query($sql);
}
class MySQLDBLayer implements DBLayer {
public function connect($params) {
// mysql_connect(....)
}
public function query($sql) {
// mysql_query(...)
}
}
class PGDBLayer implements DBLayer {
public function connect($params) {
//pg_connect(....)
}
public function query($sql) {
// pg_query(...)
}
}
Vzor
Vzor Factory
Factor Imp
Im l 2/2
/
// vzor factory = tovarna na objekty
class DBFactory {