2015-06-10 13 views
5

Tôi đã sử dụng Laravel trong một thời gian dài và bây giờ tôi đang viết một dự án vi mô sử dụng Lumen.Laravel/Lumen: Xem :: share() thay thế?

Tôi cần chuyển một số biến cho tất cả các chế độ xem. Trong Laravel tôi có thể sử dụng hàm View::share() trong phần trung gian hoặc trong hàm khởi tạo của bộ điều khiển, nhưng trong Lumen không có lớp View và có vẻ như tất cả chức năng xem chỉ đơn giản là View::make() bí danh.

Có cách nào để chia sẻ các biến cho tất cả các chế độ xem không?

Trả lời

3

Vì lý do hiệu suất, Lumen không đăng ký các mặt tiền và nhà cung cấp dịch vụ theo cách mà Laravel thực hiện. Trong khi mặt tiền Laravel được bao gồm trong Lumen, chỉ một số được đặt biệt hiệu (View không phải là một trong số chúng) và chỉ khi bạn bỏ ghi chú số $app->withFacedes(); trong bootstrap/app.php (bạn có thể kiểm tra phương thức Laravel\Lumen\Application::withFacades để xem phương thức nào). Vì vậy, để sử dụng mặt tiền khác như View, bạn có cần phải bí danh lớp mặt tiền cho mình:

// "bootstrap/app.php" is a good place to add this 
class_alias('Illuminate\Support\Facades\View', 'View'); 

Hoặc bạn có thể đưa nó với use bất cứ nơi nào cần thiết:

use Illuminate\Support\Facades\View; 
0

Cách đúng để chia sẻ dữ liệu có chế độ xem trong Lumen là:

app('view')->share(...); 

Một số chức năng của Laravel không được mô tả rõ ràng trong tài liệu Lumen có thể truy cập bằng Lumen's app() chức năng trợ giúp.

Các vấn đề liên quan