MVC kész fejléc beszúrása?
Jah, és nem az útvonallal tér vissza, hanem magával a fájl tartalmával.
class template {
protected $file;
protected $data = array();
public function __construct($file){
$this->file = $file;
}
public function assign($name,$value){
$this->data[$name] = $value;
}
public function render(){
$fullFile = PROJECT_ROOT."/templates/".$this->file.".phtml";
if(!file_exists($fullFile)){
throw new Exception("A template nem létezik: ".$this->file);
}
ob_start();
extract($this->data);
require($fullFile);
$content = ob_get_contents();
ob_end_clean();
return $content;
}
}
Az mvc alapú fejlesztéshez kicsit, sőt nagyon másként kell gondolkodnod, mint annó az include-olgatós módszernél.
Ahogy látom a rendszeredben is külön mappában vannak a template fájlok, ezek tartalmazzák a teljes layoutokat, amiket az adott oldalak hívnak be a paraméterezés alapján. Ezek a layoutok tartalmazzák a fejlécet is.
Mivel a fejléc maga a layout része, célszerű lenne, hogy elvetnéd a "külön fejléc" gondolkodást, és úgy tekintenél az egyes template-kre, mint komplett sablonokra, amik a teljes html struktúrát (aka layout) tartalmazzák.
Nézd át ezt a mappát, a phtml fájlokat, nézd meg hogyan van kialakítva egy-egy layout. Nem hiszem, hogy szükséges lenne külön fejléceket beszúrni. A programozott részeket amik a fejlécedben vannak (pl menü, login form, időjárásjelentés...) már ebbe a layoutba include-old vagy szúrd require_once utasítással.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!