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
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;
}
}
Niente di eclatante. Si usa così (ci sono i vari file, overall_header.tpl, header.tpl. body.tpl):
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();
un banale template engine.
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...