Ciao bella gente
avrei qualche quesito da porvi, il primo puramente tecnico:
nelle classi, cosa signfica extends, insomma, ci aggiungo una classe, che è? Come si usa?
Inoltre, io ho un template engine, dato dalla classe template
Niente di eclatante. Si usa così (ci sono i vari file, overall_header.tpl, header.tpl. body.tpl):Codice PHP:lass template {
var $tpl_element_name;
var $result;
function template($tpl_element_name) {
$this->result = implode("",file("templates/"._template_."/$tpl_element_name.tpl"));
}
function cambia($parola1,$parola2) {
$this->result = str_replace($parola1,$parola2,$this->result);
}
function cambia_link($nome_pagina,$href) {
$this->result = str_replace($nome_pagina,"i-".str_rot13($href).".html",$this->result);
}
function stampa() {
echo $this->result;
}
}
un banale template engine.Codice PHP:$tpl[0] = new template("overall_header");
$tpl[0]->cambia("{KEYWORDS}",_keywords_);
$tpl[0]->cambia("{PAGETITLE}",_pagetitle_);
$tpl[0]->cambia("{DESC}",_desc_);
$tpl[0]->stampa();
Però la cosa si complica quando per esempio, il normale layout non va più bene e neccessito di un nuovo layout nel body, magari solo per le pagine x,y,z. E ho tutto nel file index.php.
Ho cominciato a creare una classe innerLayout, e il risultato di questa andrà nel contenuto della classe template. Posso farlo con extends?
Voi come la fareste? Ho a disposizione PHP Versione 4.4.1, un database mysql... a parole, qual'è il procedimento migliore per creare un template engine con dei layout che cambiano a pagina a pagina...



Rispondi quotando
VVoVe:
