Как добавить общую переменную для laravel и передать эти данные всем просмотрам всех представлений

Я хочу создать глобальную переменную и передать ее во все представления, чтобы я мог получить эту переменную во всех шаблонах блейдов.

в основном, мне нужно передать значение контроллера общих настроек в мой общий вид блейда, например header.blade.php

заранее спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
1 091
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для этого вам нужно будет добавить код в App->Providers->AppServiceProvider.php следующим образом:

public function boot()
    {
        view()->composer('*',function($view){

            $settings = Settings::firstOrNew(['id' => '1']); 
            $view->with('settings', $settings );
           
        });
    }

Может быть, это поможет вам сохранить данные в общей переменной, потому что сначала запустите загрузку и сохраните данные в переменной, а после этого вам просто нужно передать данные в свои представления, как указано выше. @pixlogix покажите код, если это не работает, оставьте комментарии, я буду помочь вам, но я думаю, что нет, это работает нормально, потому что это правильный способ сделать это

jamesdev 27.07.2019 08:06
Ответ принят как подходящий

В соответствии с документацией Laravel вы можете использовать композитор представления:

https://laravel.com/docs/5.8/views#view-композиторы

для использования этой функции в приложении> AppServiceProvider и в методе загрузки вы можете использовать этот подход для передачи параметра в конкретное представление. Если у вас есть данные, которые вы хотите привязать к представлению каждый раз, когда это представление отображается. этот подход идеально соответствует вашим потребностям. например, вы хотите передать параметр с именем userName в заголовок.

View()->composer('header', function ($view){
    $userName= "username"    
    $view->with(['userName'=>$userName]);
});

Другие вопросы по теме