虽说 thinkphp5 是为 api 开发而生,但不可否认当下还是很多应用并没有前后端分离来开发,加之很多中小型应用都是一个开发者独立完成,并非所有 php 开发者都是前后通吃,所以有一个好用的模板引擎还是必要的。而 thinkphp5 自带的模板引擎还是 thinkphp3 时代的产物(比如新的『{』、『}』这种语法 phpstorm 也没有好的插件可以来高亮和提示),多少有些不便,而 laravel blade 是一个选择,特别在 laravel 5.4 之后加入了类似 vue 的 component 和 slot 之后,更是如虎添翼,因为项目需求,自己整了一个用在 tp5 项目中的版本。
安装:
composer require terranc/think-blade
复制代码
config.php 中配置:
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Blade',
// 模板路径
'view_path' => '',
// 模板后缀
'view_suffix' => 'blade.php',
// 模板文件名分隔符
'view_depr' => DS,
// 模板引擎普通标签开始标记
'tpl_begin' => '{{',
// 模板引擎普通标签结束标记
'tpl_end' => '}}',
'tpl_raw_begin' => '{!!',
'tpl_raw_end' => '{!!',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end' => '}',
],
复制代码
示例:
<header id="navbar">
<div class="row navbar-inner">
<div class="col-xs-6 brand-block">
<h4><a href="{{ url('/admin') }}"><img src="/assets/admin/images/logo.png"></a> · 管理后台
</h4>
<a href="javascript:;" class="cd_nav_trigger"><span></span></a>
</div>
<div class="col-xs-6 text-right user-block">
你好,{{ $manage_user->nickname }}({{ $manage_user->username }})
<span class="gap-line"></span>
<a href="{{ url('/manage/index/account') }}" class="item">修改资料</a>
<span class="gap-line"></span>
<a href="{{ url('/manage/start/logout') }}" class="confirm item" title="确认要退出吗?">退出</a>
</div>
</div>
</header>
复制代码
更多模板语法:
http://d.laravel-china.org/docs/5.4/blade
项目地址:
https://github.com/terranc/think-blade
安装:
composer require terranc/think-blade
复制代码
config.php 中配置:
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Blade',
// 模板路径
'view_path' => '',
// 模板后缀
'view_suffix' => 'blade.php',
// 模板文件名分隔符
'view_depr' => DS,
// 模板引擎普通标签开始标记
'tpl_begin' => '{{',
// 模板引擎普通标签结束标记
'tpl_end' => '}}',
'tpl_raw_begin' => '{!!',
'tpl_raw_end' => '{!!',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end' => '}',
],
复制代码
示例:
<header id="navbar">
<div class="row navbar-inner">
<div class="col-xs-6 brand-block">
<h4><a href="{{ url('/admin') }}"><img src="/assets/admin/images/logo.png"></a> · 管理后台
</h4>
<a href="javascript:;" class="cd_nav_trigger"><span></span></a>
</div>
<div class="col-xs-6 text-right user-block">
你好,{{ $manage_user->nickname }}({{ $manage_user->username }})
<span class="gap-line"></span>
<a href="{{ url('/manage/index/account') }}" class="item">修改资料</a>
<span class="gap-line"></span>
<a href="{{ url('/manage/start/logout') }}" class="confirm item" title="确认要退出吗?">退出</a>
</div>
</div>
</header>
复制代码
更多模板语法:
http://d.laravel-china.org/docs/5.4/blade
项目地址:
https://github.com/terranc/think-blade