laravel - 全球化 Laravel 中的所有常用变量
问题描述
我的 Laravel 项目中有一些公共变量。例如,Logo、ico、title 等将从各自的模型中显示。现在,问题是,我需要在每个控制器索引方法中声明所有变量,否则系统会说变量未定义。如何使这些变量成为全局变量?
解决方案
使用视图编辑器与所有视图共享变量的一个简单示例是使用通配符 ( *
) 运算符。请记住,您需要在您的服务提供商之一中注册所有这些。
use App\Logo;
use Illuminate\Support\Facades\View;
View::composer('*', function ($view) {
$view->with('logo', Logo::first());
});
这种方法的好处是让您可以在单个回调中组织您认为是全局的所有内容 - 但它也为您提供了将其限制为某些视图/部分的约束。
否则,更简单的是您可以使用该share
方法。
View::share('logo', Logo::first());
推荐阅读
- c# - Linq to SQL - 使用 Where 子句按相关表排序
- linux - 如何使用 Ada 代码关闭图形窗口/小部件?
- nosql - DynamoDB 分区键
- powershell - Powershell CSV 查询
- javascript - 从 API 获取数据 - 控制台重复
- arrays - 从给定的单个整数打印模式
- android - 同意用户消息传递平台颜色定制
- javascript - 为什么我只能在父级中调用 1 个函数?
- powershell - Powershell 的 Invoke-RestMethod 在循环中调用时不等待响应
- python - 如何摆脱 exec()