php - 将变量从控制器引用到所有刀片 Laravel 5
问题描述
我在控制器中编写了返回 some 的代码,$data
我想在所有刀片中引用它,我可以为每个页面创建路由,但我不喜欢这种方式。我认为如果我参考这个包括导航栏等应该会更好......但是是否可以在没有url的情况下制作$data
路线?layout.blade
因为我不想出现我的layout.blade
,所以我的问题是,获得$data
每个刀片的最佳方法是什么?
解决方案
您可能需要一个视图作曲家。视图作曲家是通过 php 对刀片进行扩展,在刀片之前运行。
在应用服务提供商中,您设置要查看作曲家类的视图。
use Illuminate\Support\Facades\View;
use App\Http\ViewComposers\LayoutComposer;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer('layout', LayoutComposer::class);
}
}
然后在课堂上写下你的逻辑。
use Illuminate\View\View;
class LayoutComposer
{
public function compose(View $view)
{
$data = Model::where('id',###)->first();
return $view->with(['data' => $data]);
}
}
推荐阅读
- loops - Stata:多个日期范围内的重叠天数
- file - 为什么你认为当我从我的 CF 卡上传图片到我的电脑时,有些图片会随机损坏?
- java - 为什么我的表单数据没有在 Java Intellij 的 mainController 中被截获
- spring - 为外部对象内的对象集合添加默认值
- cytoscape - Cytoscape 加载麋鹿图表的行为不一致,很多时候我的节点不可见
- javascript - Django 加载静态文件的问题
- python - 从 wordcloud 导出到 Python 列表
- python-3.x - 如何在 VSCODE 和 pylam 中全局禁用 E501
- javascript - 如何检测 mjpeg 流何时停止使用 javascript
- java - 如何重载使用 @RequestBody 的 Spring Boot RestController 方法?