php单独使用blade模板引擎,在thinkphp6中使用laravel的blade模版引擎备

blade

thinkphp6 blade view engine

安装

composer require isszz/think-blade -vvv

配置

// 模板设置

return [

// 这里切换为blade引擎

'type' => 'Blade',

// 模版主题, blade新增

'view_theme' => '', // 留空为不启用, 设置后, 还可添加一套default主题作为备选

// 更多配置和Think相同, 部分blade无用

];

容器注入

容器中的类解析调用,对于已经绑定的类标识,会自动快速实例化

@inject('test', 'app\service\Test')

{{ $test->info() }}

扩展 Blade

Blade 允许你使用 directive 方法自定义指令。当 Blade 编译器遇到自定义指令时,这会调用该指令包含的表达式提供的回调。

View::directive('time2str', function($expression) {

return "<?php echo think\Helper::time2str($expression); ?>";

});

用法如法, 当然你也可以传递参数

@time2str(time(), 'Y-m-d H:i')

自定义 If 语句

在定义简单的、自定义条件语句时,编写自定义指令比必须的步骤复杂。在这种情况下,think Blade 提供了 View::if 方法,它允许你使用闭包快速度定义条件指令。例如,定义一个校验当前应用的自定义指令

View::if('app', function (...$apps) {

if (count($apps) > 0) {

$patterns = is_array($apps[0]) ? $apps[0] : $apps;

return \Illuminate\Support\Str::is($patterns, app('http')->getName());

}

return app('http')->getName();

});

一旦定义了自定义条件指令,就可以在模板中轻松的使用:

@app('admin')

// 后台应用

@elseapp('api')

// api应用

@else

// 其他应用

@endapp

需要使用到 auth 和 权限验证时, 需要自行实现一个 auth 挂载进 app 且实现下列方法

* @method auth->check 判断当前用户是否登录

* @method auth->guest 判断当前用户是否为游客

* @method auth->can 用户是否有权限

* @method auth->cannot 用户不能执行这个权限

* @method auth->any 用户是否具有来自给定能力列表的任何授权能力

更多用法参考 laravel blade 手册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值