Andrey
Andrey
Это обычная env-переменная
Andrey
Хоть APELSINOVIY_SOK переменную создай, будет работать
Maksim (Ellrion)
APP_URL работает всегда, если ты достаешь его с помощью env(‘APP_URL’)
оок. давайте еще раз. ага энв отработает и запишет в app.url Вот только этот конфиг не влеяет не на что когда запросы из веба летят
fLipE
если у тебя есть в реквесте id позволь Ларе самой его передать в контроллер. Bind кажется это называется
как я сделаю bind для поля, которое передается в post?) это ж только для id в адресе, насколько я понимаю
Andrey
оок. давайте еще раз. ага энв отработает и запишет в app.url Вот только этот конфиг не влеяет не на что когда запросы из веба летят
Да при чем здесь конфиг? Я не использую хелперы и не предлагаю их использовавть. Мое решение лежит в плоскости использования env() напрямую
Andrey
без этих вавших оберток в духе url()
fLipE
Меньше мест будет, где смотреть потом. Реквест должен максимум проверять валидность входных данных
смысл еще и в том, что мне нужно проверить права на этот объект (laratrust) и это я предпочитаю делать в реквесте
Anton 🐻
если приложение отвечает на 1000+ доменов, то константа из конфига не роляет((( нужно именно на лету смотреть куда был сделан запрос и генерить все абсолютные урлы с учётом этого
Antonio
лучше тогду уже в мидлваре
Andrey
аааа, ты про это. Ну ИМХО реквсеты не для этого предназначены
Вполне себе для этого. Задача реквеста отвалидировать запрос
Maksim (Ellrion)
Да при чем здесь конфиг? Я не использую хелперы и не предлагаю их использовавть. Мое решение лежит в плоскости использования env() напрямую
оок тогда ты делаешь еще более неправильно. потому что на проде конфиги обязательно надо кэшить. а энв твой грузиться тупо не будет уже при кешированном конфиге. У энв есть проблемы и потому так сделали
Andrey
И там даже метод есть authorized()
Antonio
И там даже метод есть authorized()
для авторизации да, но не для получения каких-то соронних данных
Anton 🐻
а вот режет. даже если смотреть код - ни слова о порте
Maksim (Ellrion)
Andrey
А если у тебя env закеширован, то уж простите, высок риск того, что твое приложение вообще работать не будет, ведь там ты хранишь все ключи\пароли\доступы к базе)
Maksim (Ellrion)
не энв кешируется. он тупо не грузится если закешили конфиг
Maksim (Ellrion)
и так сделали потому что есть бяка с env в php
Andrey
Ну так твое приложение работать не будет, если у тебя произошла такая ситуация
Andrey
Банально API_KEY какой-нибудь ты не достанешь)
Andrey
И тогда APP_URL вообще меньшая из проблем
Maksim (Ellrion)
какая? ты чёт не догоняешь похоже. Нельзя юзать энв нигде кроме конфигов
Andrey
какая? ты чёт не догоняешь похоже. Нельзя юзать энв нигде кроме конфигов
Это тебе кто такое сказал?) Я могу использовать env везде, где повдение зависит от окружения в котором он выполняется.
Andrey
3 года в проде приложуха подтягивает APP_URL из .env. Проблем никаких, о какой проблеме ты говоришь?)
Andrey
СУПЕРГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ!
Aleserche
А можно вообще дергать getenv
Andrey
Походу в ларе ничего лучше не придумали для получения порта)
Maksim (Ellrion)
https://github.com/vlucas/phpdotenv/issues/76 https://github.com/vlucas/phpdotenv/issues/163 https://bugs.php.net/bug.php?id=71607 ну и там куча линков с этих обсуждений
Anton 🐻
мдоо. походу на нём лучше вобще не прогать что-то для нестандарных портов
Maksim (Ellrion)
3 года в проде приложуха подтягивает APP_URL из .env. Проблем никаких, о какой проблеме ты говоришь?)
твоя приложуха сломается при обновлении на новую лару. если у тебя при деплое на прод будет кеширование конфигов. лара не будет в этом случае тебе энв заполнять. и ты не сможешь получить env(...)
Maksim (Ellrion)
мдоо. походу на нём лучше вобще не прогать что-то для нестандарных портов
так а с чего ты решил что лара вырезает порт? как ты проверял? у меня вот не вырезает
Andrey
Вообще-то всегда перед деплоем чистится кеш и делается clear-compile
Anton 🐻
посмотрел генерируемый html
Maksim (Ellrion)
Вообще-то всегда перед деплоем чистится кеш и делается clear-compile
ты тупой? или ты просто не хочешь остановиться и разобраться? мне оно темболее не вперлось
Andrey
> Works only on Windows, I was not able to reproduce it on Linux server. Все понятно, кажется 😂
Anton 🐻
"SERVER_PORT" => "8000" "SERVER_ADDR" => "172.22.0.4" а url() и asset() генерят без порта
mr.
https://habrahabr.ru/company/vkontakte/blog/342570/
Я ему этот же линк кидал, но он не гугл и не вк)) Ему просто нужно нормальзовать отношения и построить индексы.
Mícheál
да вот я и не понимаю вот это как у одноклассников. что бы делать как у одноклассников надо иметь такие же доходы как у них
Mícheál
я просто случайно наткнулся и не увидел ответа
Maksim (Ellrion)
> Works only on Windows, I was not able to reproduce it on Linux server. Все понятно, кажется 😂
там не только это важно а то что это на любых multithreaded серверах. и из-за этого лара сделал: https://github.com/laravel/framework/blob/5.5/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php#L20-L23
Maksim (Ellrion)
вырезает =(
http://joxi.ru/zANqegHlz4NW29
Maksim (Ellrion)
http://joxi.ru/4AkNz4iMEvY62q
Maksim (Ellrion)
непоняятно
Anton 🐻
давай сверим версии ларика
Maksim (Ellrion)
это самая свежая. чустую накатил для теста
Anton 🐻
Laravel Framework 5.4.30
Maksim (Ellrion)
Laravel Framework 5.5.23
Anton 🐻
хм. а запускаешь череж нжинксы?
Maksim (Ellrion)
нет с тестового вебсервера.
Antonio
Maksim (Ellrion)
хм. а запускаешь череж нжинксы?
а у тебя там случайно не балансер?
T.A
посоветуйте пожалуйста где можно почитать про тестирование на Ларавел?
Anton 🐻
есть и балансеры
Antonio
а у тебя там случайно не балансер?
но у меня 3000 порт от browsersync
Anton 🐻
но факт в том что пхп получает порт, а лара его не генерит
Maksim (Ellrion)
а сделайте request()->getHttpHost()
Maksim (Ellrion)
а еще лучше request()->getPort()
Maksim (Ellrion)
я так понимаю у вас таже байда что и с неверным определением схеммы. часто проявляется когда схемма с сервером балансером или апачем за nginx стоящем
Anton 🐻
lol)) 80
Anton 🐻
хотя "SERVER_PORT" => "8000"
Maksim (Ellrion)
нужно просто прописать в этих случаях трастед прокси
Arcos
Ребят. Как save() на успех проверить?
Maksim (Ellrion)
хотя "SERVER_PORT" => "8000"
смотри метод Symfony\Component\HttpFoundation\Request getPort
Maksim (Ellrion)
всё скрыто там)
Anton 🐻
спасибочки, гляну после обеда