php - 扩展核心并在 Laravel 中显示每个页面中的数据

标签 php laravel service extend

按照指南,我有

1)创建服务提供者

class ViewComposerServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        view()->composer('template', function ($view) {
            $view->with('series_list', Series::all());
        });
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

2) 注册提供商

 App\Providers\ViewComposerServiceProvider::class,

3) 并回显模板中的变量

{!! var_dump($series_list)  !!}

问题是:

Route::get('/', 'HomeController@index');
Route::get('product/view/{id}', 'ProductController@view');
Route::get('product/detail/{id}', 'ProductController@detail');
Route::get('/page/contact', 'PageController@contact');

PageController 和 HomeController 可以显示 $series_list,但 ProductController 会返回错误:

Undefined variable: series_list in the template

这是产品 Controller :

class ProductController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        //$this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function view($id = 1)
    {
        return view('product/list');
    }

    public function detail($id = 1)
    {
        return view('product/detail');
    }
}

非常感谢您的帮助。

最佳答案

另一种方式,更短一些

class AppServiceProvider extends ServiceProvider
{
    // other methods

    public function boot()
    {
        $series = Series::all();
        view()->share('series_list', $series);
    }

    // other methods

}

关于php - 扩展核心并在 Laravel 中显示每个页面中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37395465/

相关文章:

php - 一键上传多张图片到服务器问题

php - 使用 postgresql 按字母数字顺序对数据进行排序

php - Bootstrap - 为什么我的导航栏背景颜色即使在我指定时也会被覆盖?

web-services - 我想连接我的服务

c# - 在 ASP.NET/C#/IIS 站点上实现守护进程?

asp.net-mvc-3 - N 层服务层验证显示表示层中的业务逻辑错误

PHP:通过静态代理调用 protected 方法时的奇怪行为

javascript - 类型错误 : Object [object Array] has no method 'getProperty'

php - laravel 查询返回奇怪的顺序

Laravel 混合 : Configure Babel for IE11 compatibility (transformations and polyfills)