laravel中自定义模板命令及流程是什么
发布时间:2023-05-30 14:51:52 所属栏目:PHP教程 来源:
导读:今天这篇我们来学习和了解“laravel中自定义模板命令及过程是什么”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“laravel中自定义模板命令及过程是什么”有一定的帮助。有这方面学
今天这篇我们来学习和了解“laravel中自定义模板命令及过程是什么”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“laravel中自定义模板命令及过程是什么”有一定的帮助。有这方面学习需要的朋友就继续往下看吧! 在框架中想要让操作变得简洁,对于命令的熟练调用是必不可少的。说到自定义的命令,那么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 就可以在页面渲染出。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐