使用视图
全局数据: 如果要在多个视图中使用通用数据,可以使用自定义数据服务提供者
namespace AppProviders;
use IlluminateSupportFacadesView;
class AppServiceProvider extends ServiceProvider {
public function register(){}
public function boot(){
View::share('key', 'value');
}
}
基本使用
return view('dir.viewname', ['data' => $data]);
使用视图合成
视图合成将常用的视图或数据模块单独提取出来,以在多处实现复用
- 编写视图合成器
namespace AppViewComposers;
use AppRepositoriesUserRepository;
use IlluminateViewView;
class ProfileComposer {
//用户模型
protected $users;
public function __construct(UserRepository $users)
{
$this->users = $users;
}
//该方法在渲染时调用
public function compose(View $view)
{
$view->with('count', $this->users->count());
}
}
- 注册视图合成器: 在 /App/Providers/ViewServiceProvider 的 boot 方法中,加入:
View::composer('profile', ProfileComposer::class);
View::composer('dashboard', function ($view) {}); //也可以用闭包方式
- 在视图中使用
View::composer(
['profile', 'dashboard'],
MultiComposer::class
);
视图内容提供器
php artisan make::provider ViewServiceProvider
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net