Laravel/Lumen:View :: share()替代方案?

Ant*_*ton 5 php laravel lumen

我已经使用Laravel很长一段时间了,我现在正在使用Lumen编写一个微项目.

我需要将一些变量传递给所有视图.在Laravel中,我可以View::share()在中间件或控制器的构造函数中使用该函数,但在Lumen中没有View类,看起来所有视图功能都只是View::make()别名.

有没有办法将变量共享到所有视图?

Bog*_*dan 2

出于性能原因,Lumen 不像 Laravel 那样注册外观和服务提供者。虽然 Laravel 外观包含在 Lumen 中,但只有一些是别名的(View不是其中之一),并且只有在您取消注释$app->withFacedes();行时bootstrap/app.php(您可以检查该Laravel\Lumen\Application::withFacades方法以查看哪些)。因此,为了使用其他外观,例如View,您需要自己为外观类命名别名:

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

或者您可以将其包含use在需要的地方:

use Illuminate\Support\Facades\View;
Run Code Online (Sandbox Code Playgroud)