Как установить глобальную переменную в Laravel?
Я пытаюсь установить глобальную переменную в Laravel, я установил в __construct()
, но не могу использовать ее вне контроллера.
Где я должен установить эту переменную?
public function __construct()
{
$cat = Categories::get()->first();
}
но я не могу получить доступ к переменной $cat на некоторых страницах.



Ответы - Как установить глобальную переменную в Laravel? / How to set Global variable in Laravel?

20.01.2019 11:11:09
Если вы хотите получить доступ $cat
Я предполагаю, что вы используете protected $cat;
public function __construct()
{
$this->cat = Categories::get()->first();
View::share('site_settings', $this->cat);
}
, они могут просто получить доступ к категории, используя BaseController
.
вторая методика:
Вы также можете попробовать использовать класс Config. Все, что вам нужно сделать, это добавить следующий код в BaseController
$this->cat
Затем в любом месте вашего проекта вы можете получить значение с помощью boot

20.01.2019 12:01:58
Вы также можете использовать решение, которое приведено ниже:
App::before(function($request) {
App::singleton('cat', function(){
return Categories::get()->first();
});
});
Теперь, чтобы получить данные в контроллере, используя строку ниже;
$cat = app('cat');
и вы можете передать данные в поле зрения, используя строку ниже:
view('home', compact('cat'));

16.11.2019 08:06:13
Использование поставщиков услуг
https://hdtuto.com/article/laravel-5-global-variable-in-all-views-file
приложение / провайдеры / AppServiceProvider.РНР
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
view()->share('siteTitle', 'HDTuto.com');
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
и на ваш взгляд
{{ $siteTitle }}