Nema tu neke matematike, ako neznas OOP onda dzaba da ti neko pise ovde klase...
Njaprostiji primer napraviti klasu template sa metodama koje ce da preuzimaju template, postavljaju, menjaju itd. AKo template cuva status u bazi onda extendujes Database.
Page klasa extenduje Template klasu i pozivas njene metode pri kreirenju novih strana...
class Template extends Database {
private static $instanca;
public $ime = null;
public $putanja = null;
public $akcija = false;
public static function instanca() {
if (!isset(self::$instana)) {
$imeKlase = __CLASS__;
self::$instanca = new $imeKlase;
}
return self::$instanca;
}
public function __prikaziTemplate($ime, $putanja = null, $bool = false){
$this->ime = $ime;
if($putanja != Null){
$this->putanja = $putanja;
}
if(is_string($this->ime) && (is_array($this->ime)){
//za nedaj boze stavi i za array ko zna sta sve moze da ti padne na pamet u buducnosti
if(is_array($this->putanja)){
$this->putanja = implode(PATH_SEPARATOR, $this->putanja);
}
//E sada odvde vrtis logiku scripte,
// Ako ti ime instaliranog templatea u bazi onda postavljas upit i vadis ga iz baze
// SELECT*FROM template bla bla bla
// I na karaju ga includujes
}
if ($bool != False){
include $this->putanja.DIRECTORY_SEPARATOR.$this->ime.'.php';
}else{
include_once $this->putanja.DIRECTORY_SEPARATOR.$this->ime.'.php';
}
//Ako neces da definises $this->putanja u inc
// postavi van if $bool
$dir = get_include('',$this->putanja);
set_include_path(bla, bla);
// i na kraju restartujes putanju
if($dir){
set_include_path($dir);
}
}
public function __instalirajTemplate(){
//isti slucaj vrti logiku instalacije cist php samo pravi logiku ipak je ovo OOP
}
public function __imeTemplate(){
return $this->ime;
}
}
}
Page isti slucaj kao i ovo pravis objekat koji ce da napravi stranu i extendujes Template
i pozivas metode..
Ovo sam napbrzaka iz glave ispisao jer zurim na posao, ti ako neznas oop neces nista ukapirati ali to je princip toga sto ti zelis.. Ne mogu ti ja sada pisati seminarski ili sta ti vec treba, zagrej stolicu php manuel i OOP... I jos nesto OOP se ne uci preko noci treba ti vremena da razumes sam princip. Nije to ono (procitao sam naucio sam znam kako da napisem klasu, da je nasledim, itd) vremenom ce sve kockice da ti se sloze i pravices mnogo bolje metode i cistije.. Kada vec naucis malo vise o OOP moj savet ti je radi unit testove... Majka su veruj mi.. A ti sada vrti svoju logiku lomi malo mozak jer ces tako da naucis...
|