首页 > 数据共享给所有视图laravel

数据共享给所有视图laravel

ProductController.php 

里面的 public function index() 的数据
如何 给 HomeController.php 里面的 public function index()

ProductController.php 里面

$types = TypeSml::all();
$type = Type::all();
view()->share('types', $types);
view()->share('type', $type)
HomeController.php

怎么调 ProductController.php 里面的 数据呢

通常,需要在 服务提供者的 boot 方法中调用 share 方法,你可以将其添加到 AppServiceProvider 或生成独立的 服务提供者来存放

<?php
namespace App\Providers;
class AppServiceProvider extends ServiceProvider {
/**
* 启动所有应用服务 *
* @return void
*/
public function boot() {
view()->share('key', 'value'); }
/**
* 注册服务提供者 *
* @return void */
public function register() {
// }
}

view()->share是将数据共享给所有视图。

每次都只会请求单个控制器啊,而且数据最后也还是由控制器交给了视图啊,为什么你会在控制器直接共享数据呢?
如果你是为了代码复用,有2个方法:
1.定义基类控制器,其他控制器继承基类控制器;
2.将业务逻辑封装为命令,哪个控制器需要就在那里调用。


我也是不明白为什么view()会有一个share函数

【热门文章】
【热门文章】