laravel 拓展blade
来源:互联网 发布:为知笔记 设置分享密码 编辑:程序博客网 时间:2024/06/12 01:21
扩展 Blade
Blade 允许你自定义一些指令,你可以使用 directvie
方法来注册指令。当 Blade 编译器遇到该指令时,它会自动的调用该指令注册时提供的回调函数并传递它的参数。
下面的例子创建了 @datetime($val)
指令来格式化 $val
:
<?phpnamespace App\Providers;use Blade;use Illuminate\Support\ServiceProvider;class AppServiceProvider extends ServiceProvider{ /** * Perform post-registration booting of services. * * @return void */ public function boot() { Blade::directive('datetime', function ($expression) { return "<?php echo with{$express}->format('m/d/Y H:i'); ?>"; }); } /** * Register bindings in the container * * @return void */ public function register() { // }}
上面的例子中使用了 Laravel 的 with
帮助方法,它只是简单的返回一个所提供的对象或值,并提供方便的链式调用。最终该指令生成的 PHP 代码如下:
<?php echo with($var)->format('m/d/Y H:i'); ?>
在你更新 Blade 指令的逻辑之后,你应该删除所有已缓存的 Blade 视图,你可以使用 view:clear
Artisan 命令来清除。
文/Dearmadman(简书作者)
原文链接:http://www.jianshu.com/p/7d65f9eb94be
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/7d65f9eb94be
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
<?php namespace Modules\Manage\Http\Middleware;use Closure;use Blade;use Pingpong\Modules\ModulesServiceProvider;use App\Common\Helpers\Helper;/** * 初始化中间件 * Class Initialize * @package Modules\Manage\Http\Middleware */class Initialize { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { /** * 注册模板路径 */ view()->addLocation(base_path('modules/Manage/Resources/views/')); /* * 添加快捷标签 */ Blade::directive('css', function ($expression) { $expression = Helper::parseHtmlTags($expression, 'assets/manage/css/'); return "<?php echo Html::style{$expression} ?>"; }); Blade::directive('js', function ($expression) { $expression = Helper::parseHtmlTags($expression, 'assets/manage/js/'); return "<?php echo Html::script{$expression} ?>"; }); Blade::directive('img', function ($expression) { $expression = Helper::parseHtmlTags($expression, 'assets/manage/images/'); return "<?php echo asset($expression) ?>"; }); //权限标签 Blade::directive('per', function ($expression) { return "<?php if (\\App\\Models\\Manager::checkAbility{$expression}) : ?>"; }); Blade::directive('endper', function () { return "<?php endif; ?>"; }); $breadcrumbs = base_path('modules/Manage/Http/Breadcrumbs.php'); if (file_exists($breadcrumbs)) { require $breadcrumbs; } return $next($request); }}
0 0
- laravel 拓展blade
- laravel blade
- Laravel blade 模板积累
- laravel 5 blade
- Laravel blade 模板积累
- Laravel-Blade模板引擎
- Laravel Blade模板引擎
- laravel 5.5 -- blade
- laravel blade模板
- laravel Blade 模板引擎 命令
- Laravel 學習筆記(12) - Blade 樣板系統
- laravel的blade模板笔记
- Laravel之Blade模板引擎
- Laravel blade模版引擎学习
- Laravel blade模版引擎学习
- Laravel之Blade模板引擎
- laravel(六)-Blade模板
- laravel(3) blade模板和布局
- 学习python的第三十一天-模块,dir()函数
- opencv Mat的七种创建方式
- 简介面向过程和面向对象
- TCP/IP协议
- 读取android根目录下的文件或文件夹
- laravel 拓展blade
- linux下删除文件的第一行
- 用迭代器遍历map
- React-Native傻瓜式学习笔记(一):ListView的简单使用
- 包含min函数的栈
- 初识java反射
- Python爬虫学习之抓取商品名称和价格
- Java 日志(Logging)与协同调试
- 沐风老师3dMax手把手教系列:鱼籽球建模教程