千家信息网

php laravel中自定义模板的命令是什么

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇"php laravel中自定义模板的命令是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年02月01日php laravel中自定义模板的命令是什么

这篇"php laravel中自定义模板的命令是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"php laravel中自定义模板的命令是什么"文章吧。

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 就可以在页面渲染出。

以上就是关于"php laravel中自定义模板的命令是什么"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0