Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Jazyk PHP - pokračování

PDF
Stáhnout kompletní materiál zdarma (1.56 MB)

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.

// zde to prijde!
// vim, ze vratim rozhrani typu DBLayer
public static function getDBLayer($type){

switch ($type) {

case "MySQL": return new MySQLDBLayer(); break;
case "PG": return new PGDBLayer(); break;
default: return new MySQLDBLayer();

}

}

}

Poznámka:
často se setkáme s implementací factory bez parametru. Ten je potom 
zjištěn v těle metody například z nějakého konfirugračního souboru. 
Rozhodnutí o použíté DB udělá uživatel při instalaci systému.

Jen jedno připojení k databázi

Jen jedno připojení k databáz

 Vzor Singleton pro připojení k DB

Vzor Singleton pro připojení k D

 Připojení je obecně drahá záležitost

Připojení je obecně drahá záležitos

 Nepřipojuji se tehdy, když uz spojením mám

Nepřipojuji se tehdy, když uz spojením má

// jedina trida, ktera umi vsechno s DB
class DB {

private static $instance = null;
private $db_link = null;
private $result = null;

private function __construct() {}
public static function getInstance() {

if (self::$instance == null) {

self::$instance =

new DB();

self::$instance->connect();

}
return self::$instance;

return self::$instance

}

public function connect() {

if ($this->db_link == null) {

$link = mysqli_connect(DB_HOST, DB_USER,

DB_PASSWD, DB_NAME);

if (!$link) {

throw new

DBException(mysqli_errno($link));

}
mysqli_select_db($link,DB_NAME);
$this->db_link = $link;

}
return $this->db_link;

}

// pokračování

public function query($sql) {

$this->connect();
$this->result = mysqli_query($this->db_link,$sql);
if (mysqli)
if (!$this->result) {

throw new DBException(mysqli_error($this-

>db_link), $sql);

}
return $this->result;

return $this->result

}

}

// pokračování

public function query($sql) {

$this->connect();
$this->result = mysqli_query($this->db_link,$sql);
if (mysqli)
if (!$this->result) {

throw new DBException(mysqli_error($this-

>db_link), $sql);

}
return $this->result;

return $this->result

}

}

OBSERVER

OBSERVE

(NĚKDY TÉŽ 

(NĚKDY TÉŽ LISTENER

LISTENE )

Návrhový vzor

Návrhový vzo

Myšlenka

Myšlenk

Témata, do kterých materiál patří