怎样封装一个自己的mvc框架(七)
mvc框架封裝到了最后一步,我們需要引入一個模板引擎twig
同樣修改composer文件,在require中加入一行
?
"twig/twig":"*"
?
然后命令行輸入
composer update
?
這樣就加載了twig引擎
我們可以打開http://twig.sensiolabs.org/doc/api.html網站查看手冊
?
twig模板引擎最優秀的一點就是模板的套用
首先我們在核心文件中寫一個方法實例化模板引擎
??
? //視圖層顯示方法
?? ?public function view()
?? ?{
?? ??? ?//實例化模板引擎
?? ??? ?\Twig_Autoloader::register();
?? ??? ?$loader = new \Twig_Loader_Filesystem(APP."/views");
?? ??? ?$twig = new \Twig_Environment($loader, array(
?? ??? ???? 'cache' => ROOT.'/log/twig',
?? ??? ???? 'debug'=>DEBUG
?? ??? ?));
?? ??? ?return $twig;
?? ?}
?
之前的assign和display方法可以去掉了
我們現在在控制器中調用的時候只需要
??? public function index(){
?? ??? ?$data="It is work!";
?? ??? ?//$title="這是視圖文件";
?? ??? ?$view=$this->view();
?? ??? ?echo $view->render('index/index.html',['data'=>$data]);
?? ?}
即可顯示視圖文件并傳值
然后在模板文件中
<h3>{{ data }}</h3>
即可輸出變量
?
剛才也說了,twig引擎最出色的是模板的套用
我們首先創建一個layout.html文件
<!doctype html>?
<html>?
<head>?
? <meta charset="utf-8">?
? <title></title>?
</head>
<body>
{% block content %}
<!--? 這里是內容 ?? -->
{% endblock %}
</body>
</html>
?
?
然后在其他的視圖中我們只需要這樣寫
{% extends "layout.PHP" %}
{% block content %}
<h3>{{ data }}</h3>
{% endblock %}
?
即可套入
?
是不是很方便?現在我們的一個簡易的mvc框架已經完成了,接下開讓我們做一個簡單的增刪改查來檢驗一下我們的框架功能!
?
轉載于:https://www.cnblogs.com/quanzhiguo/p/7363410.html
總結
以上是生活随笔為你收集整理的怎样封装一个自己的mvc框架(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Java的“找不到或无法加载主类”
- 下一篇: s3c2440移植MQTT