==== # Laravelの最近のバージョンで導入された機能 ## Bladeコンポーネントの属性バッグ (Laravel 7以降) Laravel 7で導入された「Bladeコンポーネントの属性バッグ」は、Bladeコンポーネントの開発を大幅に改善した機能です。この機能により、コンポーネントに渡された属性をよりきれいに管理し、操作することができるようになりました。 ### 実践的な使用例 カスタムボタンコンポーネントを作成する例を見てみましょう: ```php // app/View/Components/Button.php namespace App\View\Components; use Illuminate\View\Component; class Button extends Component { public $type; public $text; public function __construct($type = 'primary', $text = 'クリック') { $this->type = $type; $this->text = $text; } public function render() { return view('components.button'); } } ``` ```blade ``` このコンポーネントは次のように使用できます: ```blade ``` レンダリングされると: ```html ``` `$attributes`バッグを使用することで、明示的に定義されていない属性(この場合は`id`と`data-confirm`)も自動的に要素に追加されます。また、`merge()`メソッドを使用してクラスを統合することもできます。 この機能により、再利用可能でカスタマイズ可能なコンポーネントの作成が非常に簡単になりました。