Hướng dẫn sử dụng và đăng ký View::composer (ok)
https://viblo.asia/p/tap-12-view-laravel-63vKjwEkZ2R
IV. View composer
Đây có vẻ là phần trừu tượng, khó hình dung nhất trong component này. View composer là các callback hoặc là các phương thức được gọi lại khi một view sắp sửa xuất ra (render). Nếu bạn có một dữ liệu nào đó mà bạn muốn truyền vào một view khi nó chuẩn bị render thì view composer sẽ giúp bạn tổ chức logic, tách rời, dễ kiểm soát. Nôm na dễ hiểu view composer thực hiện công việc truyền dữ liệu cho view, nhưng theo một cách đầy "khoa học".
1. Đăng ký view composer
config/app.php
app/Providers/ViewComposerProvider.php
Có hai cách để đăng ký view composer.
a. Đăng ký composer với class
App\Http\View\Composers\ProfileComposer.php
Thử xem:
resources\views\profile.blade.php
routes\web.php
b. Đăng ký composer với closure
App\Providers\ViewComposerProvider.php
routes\web.php
Bạn có thể đăng ký một view composer cho nhiều view khác nhau bằng cách chuyển tham số thứ nhất về dạng mảng và liệt kê các view cần thiết.
Trong trường hợp bạn muốn tất cả các view đều được truyền một dữ liệu chung thì bạn có thể sử dụng ký tự *
để thay thế tên view, framework sẽ hiểu là bạn đã chọn tất cả các view đang có trong source code.
2. View creator
Về hình thức thì view creator chẳng khác gì mấy so vớ view composer, tuy nhiên về cách hoạt động thì có sự khác biệt về trình tự. Nếu composer thực thi khi view sắp sửa render thì creator lại thực thi khi vừa khởi tạo view thay vì chờ nó chuẩn bị render.
Last updated