Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 8
1

Как передать данные во все контроллеры / глобальная пееременная

16.01.2021, 15:55. Просмотров 947. Ответов 1
Метки нет (Все метки)

Привет!

Хочу создать глабальныю переменную/метод, который будет проверять и обрабатывать язык

Типо

PHP
1
2
3
4
5
6
7
8
9
public function TestgetLocale() 
{
   return App::getLocale() ?? 'ru';
}
 
метод находится в контроллере MainController
 
Так вот, как сделать так чтобы он был доступен во всех (нужных мне/указзаных) контроллерах ?
(чтобы каждый раз не писать App::getLocale() ?? 'ru' где нужно узнать язык )
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2021, 15:55
Ответы с готовыми решениями:

Как передать через сессию все данные?
Как предать все данные через $_SESSION на другую страницу, так чтобы передавалось не поселение...

Как все данные из листа Exel передать в Access?
Как должен выглядеть макрос, который предает данные листа из эесель в аксесс

Как импользуя Entity Framework передать все данные одного столбца
Всем привет. Такая вещь Создал модель Entity Framework моих таблиц БД (brand и make) и хочу...

Как передать после авторизации все остальные данные из таблицы о клиенте в различные текстбоксы? Имя фамилия отчество
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text ==...

1
1712 / 1038 / 386
Регистрация: 13.06.2013
Сообщений: 3,525
16.01.2021, 16:49 2
Лучший ответ Сообщение было отмечено HahaImjon как решение

Решение

А там разве бывает что языка нет? Если посмотреть фасад App, то метод getLocale всегда возвращает строку. Оно и логично, ведь дефолтный язык задается в config/app.php.

Но даже если бы дефолта не было, то лучше задать текущий язык через App::setLocale(), чем писать свой костыль. Прописать его можно например в middleware.

И если вдруг еще какой глобальный код захотите сделать, то лучше это делать в сервисном слое, а не в контроллере. Сервисный слой может быть реализовано просто в виде папки Services и классом LangService.php. Методы можно сделать статическими, чтобы не заморачиваться с созданием объекта. С другой стороны у ларавел мощный cервис контейнер - весьма полезная штука.

Опять же все это есть в документации Она реально полезная и экономит много времени.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2021, 16:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Данные от сервера и глобальная переменная
Есть таблица комментариев (типа админ-панель на сайте), ajax'ом получаю данные с сервера. К...

Логически законченные фрагменты оформить в виде подпрограмм, которым все необходимые данные передать через список параме
Логически законченные фрагменты оформить в виде подпрограмм, которым все необходимые данные...

Как передать данные
1. Как передать данные, которые введены в текстовое поле формы, нажатием кнопки, в качестве...

Как передать данные?
Как наиболее быстро можно вставить в таблицу Oracle данные из Exel? Заранее спасибо.

Как передать данные?
на сервере: php на клиенте: клиент на c#.net нужно передать параметр от сервера к клиенту. это...

Laravel 5: где находится папка, в которой должны быть все мои контроллеры
Приветствую всех форумчан! Подскажите кто работал с таким фреймворком как laravel 5. Не могу понять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.