Heim  >  Artikel  >  php教程  >  Eine PHP-Vorlage, hauptsächlich um die Idee widerzuspiegeln

Eine PHP-Vorlage, hauptsächlich um die Idee widerzuspiegeln

黄舟
黄舟Original
2016-12-14 11:34:331094Durchsuche

Ich wollte ein Gleichgewicht zwischen Geschwindigkeit und Benutzerfreundlichkeit finden (hauptsächlich im Hinblick auf die Bequemlichkeit des Kunstdesigns).
Ich wollte auch anzeigen sie separat Balance zwischen Logik und getrenntem HTML-Code

Zum Beispiel eine Forum-Homepage (index.php):

Code:


require('./template.php');
//Das Präfix der von HTML generierten PHP-Datei unter Verwendung verschiedener Stile
//Template Dateiname
$tpl_index = 'index';

$tpl = new Template($tpl_prefix);

$cats = array(
array('forum_id'=> ' 1','forum_cat_id'=>'0','forum_name'=>'PHP learning'),
array('forum_id'=>'2','forum_cat_id'=>'0' , 'forum_name'=>'MYSQL Learning')
);
$forums = array(
array('forum_id'=>'3','forum_cat_id'=>'1', ' forum_name'=>'PHP Advanced Tutorial'),
array('forum_id'=>'4','forum_cat_id'=>'1','forum_name'=>'PHP Basic Tutorial') ,
array('forum_id'=>'5','forum_cat_id'=>'2','forum_name'=>'MYSQL-bezogene Informationen')
);

if ( $cats)
{
if ($tpl->chk_cache($tpl_index))//Überprüfen Sie, ob die PHP-Vorlagendatei neu generiert werden muss ;load_tpl($ tpl_index);//Laden Sie die HTML-Vorlagendatei
//Ersetzen Sie die PHP-Anweisung
$tpl->assign_block("{block_cat}"," ");
$tpl->assign_block("{/block_cat}","");
$tpl->assign_block("{block_forum }","< ?foreach($forums as $forum) {

nif($forum['forum_cat_id'] == $cat['forum_id']) {?>");
$tpl-> ask_block("{/block_forum}",""); );
}
//PHP-Vorlagendatei einbinden
include($tpl->parse_tpl($tpl_index));


entsprechende HTML-Vorlagendatei (index.html):


Code:

{block_cat}


🎜>

{block_forum}

{=$cat['forum_name']}
{=$forum['forum_name']}



Nach der Verarbeitung wird das Tag {block_forum}{block_cat} durch eine PHP-Schleifenanweisung ersetzt, die zum Anzeigen aller Elemente des Arrays verwendet wird.

Generierte PHP-Vorlagendatei (default_index.php):


Code:



if($forum['forum_cat_id'] == $cat['forum_id']) {? >
>
>
default_index.php ist in index.php enthalten, sodass es normal angezeigt werden kann
Auf diese Weise kann die HTML-Vorlagendatei mit dw geändert und verschönert werden, was für mehr Komfort sorgen sollte Künstler.

template.php



Code:


/**************************************************** * *****************************
* Vorlagenklasse (Template)
* Letzte Änderungszeit: 2004.4.07 Forumnutzung
*
*
*
********************************* * ***********************************************/
Klassenvorlage {

//$this->$template, speichert Vorlagendaten
var $template = '';

//Template path = '';

//Template prefix (style name). '';

//cache-Pfad (kompilierter Pfad).

//Header-Dateipfad
var $header_path = ''; **
* Initialisierungsvorlagenpfad*/
function Template($root = 'default')
{
//Template prefix (style name)
$this->tpl_prefix = $root ; 🎜>//Vorlagendateipfad.
$this->tpl_path = './templates/' .//Generierter PHP-Dateispeicherpfad ;cache_path = './template_data/' .$this->tpl_prefix .
return true
}

/**
* chk_cache, prüfen Sie, ob die „kompilierte“ Vorlage aktualisiert werden muss. Die Beurteilung basiert auf: dem Zeitpunkt der letzten Änderung und ob die „kompilierte“ Datei vorhanden ist*/
function chk_cache ($tpl_index)
$tpl_file = $this->tpl_index .
//Bestimmen Sie, ob es aktualisiert werden muss
if(!file_exists($cache_file))
{
return true;
elseif(filemtime($tpl_file) > ; filemtime($cache_file))
{
return true;}
}

/**
* Ausgabevorlagendatei
*/
function parse_tpl($tpl_index,$message ='')
{
return $this->cache_index .php'; ($tpl_index)
{
$tpl_file = $this->tpl_index ->template = fread($fp, filesize($tpl_file));
fclose($fp>}

/**
* Vorlagendatei laden
*/
function write_cache( $tpl_index)

$cache_file = $this->cache_path .

//Variablenanzeige. template = preg_replace("/({=)(.+?)(})/is", "", $this->template); Ersetzung der Schnittstellensprache.
$this->template = preg_replace("/{lang +(.+?)}/ies", "$lang['main']['\1']", $this- >template);

$fp = fopen($cache_file, 'w');
flock($fp, 3); ;
fclose($fp>); >template = str_replace($search,$replace,$this->template);
}
}

Vielen Dank fürs Lesen, ich möchte mehr erfahren Verwandte Inhalte, achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
< /td>