laravel自定义模板指令-tojs的示例
小编给大家分享一下laravel自定义模板指令-tojs的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联建站基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业光华机房服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
Blade 允许你自定义命令,你可以使用 directive 方法注册命令。当 Blade 编译器遇到该命令时,它将会带参数调用提供的回调函数。blade模板可以通过directive方法来自定义模板指定,
tojs指令主要用于PHP自定义一些数据转换为js对象方便js调用
1.创建ToJsServiceProvider
app->singleton('tojs', function () { return new ToJs(); }); /* * The block of code inside this directive indicates * the chosen javascript variables. */ Blade::directive('tojs', function () { return ''; }); } }
2. ToJs方法主要是对数组的一些操作
$value) { $this->data[$key] = value($value); } return $this; } public function get($key = null, $default = null) { if (!$key) return $this->data; return Arr::get($this->data, $key, $default); } public function forget($keys) { Arr::forget($this->data, $keys); return $this; } }
3.声明facade
namespace App\Helpers\ToJs\Facades; use Illuminate\Support\Facades\Facade; class ToJsFacade extends Facade { /** * Get the registered name of the component. * * @return string */ protected static function getFacadeAccessor() { return 'tojs'; } }
4.在config数组添加serviceProvider
providers 添加\App\Providers\ToJsServiceProvider::class
aliases 添加'ToJs' => \App\Helpers\ToJs\Facades\ToJsFacade::class,
5.为了方便调用可以在写一个helper方法
if (!function_exists('to_js')) { /** * Access the javascript helper. */ function to_js($key = null, $default = null) { if (is_null($key)) { return app('tojs'); } if (is_array($key)) { return app('tojs')->put($key); } return app('tojs')->get($key, $default); } }
在PHP代码需要的地方调用 to_js(['username'=>'test']);
blade模板直接通过 @tojs
就可以在页面渲染出
看完了这篇文章,相信你对“laravel自定义模板指令-tojs的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享标题:laravel自定义模板指令-tojs的示例
网址分享:http://cdiso.cn/article/gihhpe.html