Rebonjour,
je dois avoir un loupé dans ma façon de faire, et comme j'arrive pas à afficher les erreurs php, je me retourne vers vous.
voilà ce que j'ai fait :
- j'ai créer mon provider :
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;
class ViewServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
// Using class based composers...
View::composer(
['showMenu', 'showBasket'],
'App\Http\ViewComposers\ShowComposer'
);
// Using Closure based composers...
View::composer('shop', function ($view) {
});
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
-
j'ai enregistré mon provider dans 'cofig/app.php'
-
j'ai créé mon composer :
<?php
namespace App\Http\ViewComposers;
use Illuminate\View\View;
use App\Repositories\MenuRepository;
use App\Repositories\BasketRepository;
class ShowComposer
{
/**
* The repositories implementation.
*/
protected $menu;
protected $basket;
/**
* Create a new view composer.
*/
public function __construct(MenuRepository $menu, BasketRepository $basket)
{
// Dependencies automatically resolved by service container...
$this->menu = $menu;
$this->basket = $basket;
}
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$view->with('showMenu', $this->menu->menu())
->with('showBasket'), $this->basket->basket();
}
}
- j'ai mis ma variable dans 'shop.blade.php.
Mais j'ai une erreur 500, sûrement parce qu'il ne connaît pas la variable 'showMenu'.
Mais je me demande si je ne dois pas rensaigner quelque chose dans cette fonction :
// Using Closure based composers...
View::composer('shop', function ($view) {
});
Car lorsque je fait un 'dd()', ce dernier s'affiche.
Dans l'attente de vos commentaires.