Maison >développement back-end >tutoriel php >PHP comprend le principe d'implémentation en écrivant vous-même une classe de modèle
Je pense que de nombreux PHPers sont entrés en contact avec des modèles. Comment les modèles sont-ils implémentés avec leur syntaxe d'analyse spécifique ? Cet article permet à chacun de comprendre clairement le principe des modèles en écrivant une simple classe d'analyse de modèles.
mini cours
class mini { public $template_dir = ''; // 模板文件存放的位置 public $compile_dir = ''; // 模板文件编译后存放的位置 public $array = array (); public function assign($key, $value) { $this->array [$key] = $value; } /* * 调动compile来编译模板,并自动引入; */ public function display($template) { $comp = $this->compile ( $template ); include ($comp); } /* * 传一个参数,读取那个html模板 流程:把模板读取过来,编译成php */ public function compile($template) { // $template是一个html文件 $temp = $this->template_dir . '/' . $template; $source = file_get_contents ( $temp ); // 再把编译后的内容保存成.php文件 $comp = $this->compile_dir . '/' . $template . '.php'; // 判断模板是否已经存在,或者修改; if (file_exists ( $comp ) && filemtime ( $temp ) < filemtime ( $comp )) { return $comp; } $source = str_replace ( '{$', '<?php echo $this->array[\'', $source ); $source = str_replace ( '}', '\'];?>', $source ); // echo $source; file_put_contents ( $comp, $source ); return $comp; } }
Recommandations associées :
[Cours] Tutoriel vidéo sur l'analyse sous-jacente PHP
Résumé de la façon de démarrer rapidement avec PHP
Résumé des fonctions concises de PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!