laravel中自定义模板命令及过程是什么
Admin 2022-10-08 群英技术资讯 495 次浏览
在框架中想要让操作变得简洁,对于命令的熟练调用是必不可少的。说到自定义的命令,那么tojs无疑是非常好的选择。同时对于js语言的切换上也是速度非常快的。下面我们就laravel框架中tojs这种自定义的命令带来详细的介绍,大家也快来看看实际的使用中都会遇到哪些流程吧。
1、创建ToJsServiceProvider
namespace App\Providers; use App\Helpers\ToJs\ToJs; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class ToJsServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this->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方法主要是对数组的一些操作
namespace App\Helpers\ToJs; use Illuminate\Support\Arr; class ToJs { protected $data = []; public function put(array $data) { foreach ($data as $key => $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 就可以在页面渲染出。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章小编给大家分享一下python实现图像增强算法代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
PHP 5 的使用者可以使用 MySQL extension,mysqli 和 PDO_MYSQL 。php 7移除了mysql extension,只剩下后面两种选择。
yii2框架中actions作用是什么?在学习yii2框架过程中,我们经常能看到actions方法,那么actions的作用究竟是什么?以及要如何使用呢?下面小编就带大家了解一下。
本篇文章给大家介绍一下PHP7中安装mysql的扩展模块的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
phpstorm批量替换的方法:首先打开phpstorm编辑器,打开需要处理的文本文件;然后在打开的文本中按ctrl+r键调出替换工具,输入原字符串abcd,目标字符串hello;最后点击“Replace all”按钮即可实现批量替换。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008