コンボーネントとは?
Bladeテンプレート機能の一つで、再利用できるUIを作成できる機能。
引数を渡すこともできるのカスタマイズ性もある。
コンポーネントの作成
php artisan make.component Forms/Input
上記のコマンドで
App/Views/Components/Fomrs/ に Input.php という処理用のファイル
resources/views/components/forms/ に input.blade.php というデザイン用のファイル
が作られる
# パッケージコンポーネントの手作業登録
App/Http/Providers/AppService/Provider
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;
use App\View\Components\Forms\Button;
use App\View\Components\Forms\Input;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
Blade::component('input',Input::class);
}
}
コンポーネントを登録すると、レンダリングすることができる。
<x-input>
通常のレンダリングは、Bladeファイル名を利用する。
resources/components/ より深いディレクトリ内にある場合、.をつけてレンダリングする。
<x-forms.input>
参考文献