У меня есть параметры, у которых есть контроллер, и мне нужно получить некоторые из них на верхнем и нижнем колонтитулах, которые необходимо загружать во всем мире.
Как я могу это сделать?
Я прочитал несколько вопросов на этом сайте, но никто из них не помог мне, как я ожидал, или я их не получил! в любом случае мне нужна ваша помощь для решения этой проблемы.
Благодарю.
есть много способов сделать это
но один из них, который ссылается в документе laravel, использует загрузку
Совместное использование данных со всеми представлениями
Иногда вам может понадобиться поделиться куском данных со всеми представлениями, которые отображаются вашим приложением. Вы можете сделать это, используя метод общего доступа к виду. Как правило, вы должны размещать вызовы для совместного использования в рамках способа загрузки поставщика услуг. Вы можете добавлять их в AppServiceProvider или создавать отдельный поставщик услуг для их размещения:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
View::share('key', 'value');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
вы можете использовать переменную внутри метода загрузки AppServiceProvider.php
например, у вас есть таблица категорий и категория модели, и вы хотите поделиться ею со всеми представлениями
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
$categories = Category::All();
View::share('categories', 'categories');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
но если вы хотите иметь верхний и нижний колонтитулы для своего сайта, вы можете использовать мастер файл и распространять его на другие документы вида