php – 扩展核心并在Laravel的每个页面中显示数据
发布时间:2020-05-25 10:28:09 所属栏目:PHP 来源:互联网
导读:按照指南,我有 1)创建服务提供商 class ViewComposerServiceProvider extends ServiceProvider{ /** * Bootstrap the application services. * * @return void */ public function boot() {
|
按照指南,我有 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
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
