indexgo
login

Lumenでコンポーネントを使う

Lumenでコンポーネントを使う際の手順を毎回忘れてエラーになるので、備忘録的に残して起きます。

作成者:Ssさん 公開日:2018年8月27日 17時50分 更新日:2018年8月27日 17時50分

bootstrap/app.php

AppServiceProviderのコメントアウトを外します。

$app->register(App\Providers\AppServiceProvider::class);

app/Http/Providers/AppServiceProvider.php

registerComponents()を追加して、個別のコンポーネントを随時追加していきます。

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //component
        $this->registerComponents();
        
    }
    
    private function registerComponents(): void {
        Blade::component('components.user_list', 'user_list');
    }    
}

上記の例では、「resource/components/user_list.blade.php」のテンプレートファイルを、「user_list」で呼び出せるようにしています。

あとは、view側で呼び出すだけ

@user_list()
@enduser_list

書き方は、「@コンポーネント名」ではじめて、「@endコンポーネント名」で閉める。これだけです。

最初の後に()をつけて「@コンポーネント名()」とすると、変数をコンポーネントに渡せます。