php – 扩展核心并在Laravel的每个页面中显示数据
发布时间:2020-12-14 19:55:51 所属栏目:大数据 来源:网络整理
导读:按照指南,我有 1)创建服务提供商 class ViewComposerServiceProvider extends ServiceProvider{ /** * Bootstrap the application services. * * @return void */ public function boot() { view()-composer('template',function ($view) { $view-with('seri
按照指南,我有
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)注册提供商 AppProvidersViewComposerServiceProvider::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 这是ProductController: class ProductController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { //$this->middleware('auth'); } /** * Show the application dashboard. * * @return IlluminateHttpResponse */ 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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |