Вы можете создать новый контроллер, скажем, AppController
, который расширит App\Http\Controllers
контроллер по умолчанию Laravel. Внутри этого нового контроллера создайте свой конструктор со всеми необходимыми данными и поделитесь ими для всех представлений:
public function __construct(Request $request)
{
$messages = MessagesController::getMessages();
$newNotificationNumber = MessagesController::getNumberOfNewMessages();
View::share('languages', $languages);
View::share('newNotificationNumber', $newNotificationNumber);
}
После этого вы можете расширить AppController
в любом другом контроллер, где вам нужны ваши переменные:
class YourController extends AppController
Все, что осталось сделать сейчас, это расширить конструктор AppController
в YourController
:
public function __construct()
{
parent::__construct();
}
Таким образом, вы получите доступ к $languages
и $newNotificationNumber
переменным во всех представлениях, которые вы используете в YourController
.