2019-06-26 14:39:32 1492浏览
今天千锋扣丁学堂PHP培训老师给大家分享一篇关于Laravel向公共模板赋值方法总结,首先在开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍。
View()->composer('common.header',function ($view){ //common.header 对应Blade模板 $view->with('key', 'value'); });
View()->share('key', 'value');
php artisan make:provider ComposerServiceProvider
public function boot() { view()->composer( 'app', //模板名 'App\Http\ViewComposers\MovieComposer' //方法名或者类中的方法 ); }
view()->composer('app','App\Http\ViewComposers\MovieComposer@foobar'); //自己定义的方法
<?phpnamespace App\Http\ViewComposers;use Illuminate\View\View;//**记得引入这个啊(因为在composer函数参数里使用了View类)**class MovieComposer{ public $movieList = []; public function __construct() { $this->movieList = [ 'Shawshank redemption', 'Forrest Gump', ]; } public function compose(View $view) { $view->with('latestMovie'); }}
view()->composer('*', function (View $view) { //logic goes here});
view()->composer(['nav', 'footer'],'App\Http\ViewComposers\MovieComposer');或者 view()->composer(['admin.admin'], function ($view){ $column = $this->object_array(DB::table('column')->get()); foreach($column as $k=>$v){ $chid = explode(',',$v['childid']); foreach($chid as $value){ $column[$k]['chname'][] = $this->object_array(DB::table('column_child')->where('id',$value)->first()); } } $view->with('columns',$column); });
【关注微信公众号获取更多学习资料】 【扫码进入Python全栈开发免费公开课】