编辑整理:整理来源:抖音,浏览量:68,时间:2023-03-30 02:32:02
所有的系统管理中,都有共用的部分,比如菜单,会在每个界面里都有,那么,这种共有的数据可以使用视图共享的功能来在每个界面中都显示。
视图共享创建1.创建一个菜单共享的MenuComposerProvider.php
php artisan make:provider MenuComposerProvider把这个文件配置到config下的app.php中的providers数组中。
2.创建菜单的composer即MenuComposer.php,放在app\Http\Composer这个目录下,
<?phpnamespace App\Http\Composer;use Illuminate\View\View;class MenuComposer{ public function __construct(){} public function compose(View $view){ $view->with('menus',config('menu')); }}3.更改MenuComposerProvider.php如下
<?phpnamespace App\Providers;use Illuminate\Support\ServiceProvider;use Illuminate\Support\Facades\View;use App\Http\Composer\MenuComposer;class MenuComposerProvider extends ServiceProvider{ /** * Register services. * * @return void */ public function register() { // } /** * Bootstrap services. * * @return void */ public function boot() { // View::composer('*',MenuComposer::class); }}注:
注册在config\app.php中的provider会在软件启动的时候,自动调用内部的boot方法,我们在这里使用了视图共享,这样就会调用到MenuComposer.php文件中的compose方法,并用$view->with在某些视图中共享了某些数据,在这里我们使用*号表示所有的模板。
下一节我们讲一个如何显示这个视图共享数据