Документация слышится https://laravel.com/docs/5.4/views#view-composers , но я сломаю ее
Сделав это, мы создали Поставщика услуг Composer. Когда вы запускаете приложение с профилем вида так, как http: // yourdomain / something / profile , вызывается поставщик услуг ComposerServiceProvider и класс App \ Http \ ViewComposers \ ProfileComposer создается при вызове метода Composer из-за кода ниже внутри метода загрузки или функции.
// Using class based composers...
View::composer(
'profile', 'App\Http\ViewComposers\ProfileComposer'
);
Перейти к файлу пути к каталогу / Http
class ProfileComposer
{
/**
* The user repository implementation.
*
* @var UserRepository
*/
protected $users;
/**
* Create a new profile composer.
*
* @param UserRepository $users
* @return void
*/
public function __construct(UserRepository $users)
{
// Dependencies automatically resolved by service container...
$this->users = $users;
}
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$view->with('count', $this->users->count());
}
}
Теперь перейдите к вашему представлению или в этом случае Profile.blade.php и добавьте
{{ $count }}
, и это покажет количество пользователей на страница профиля.
Чтобы показать счет на всех страницах, измените
// Using class based composers...
View::composer(
'profile', 'App\Http\ViewComposers\ProfileComposer'
);
На
// Using class based composers...
View::composer(
'*', 'App\Http\ViewComposers\ProfileComposer'
);