Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#51 Re: Laravel 5.x » Обновление до последней версии » 21.09.2021 15:09:53

С помощью https://laravelshift.com/ выполнить "черновую" работу. Потому тестировать и допиливать. По пути можно наткнуться на отстутствие актуальной версии у стороннего пакета или обратную несовместимость кода на PHP. Ведь если фреймворк старый, то и пыха наверняка старая используется. Совсем без ручной работы не получится.

#52 Re: Laravel 6/7/8/9/10/11 » Ошибка "The GET method is not supported for this route" при использова » 30.08.2021 17:36:58

Круто. Но каким образом это связано с "GET method is not supported" ты разобрался?

#53 Re: Laravel 6/7/8/9/10/11 » Ошибка "The GET method is not supported for this route" при использова » 30.08.2021 14:32:59

Это нормально иметь два и более middleware.

Я думаю что ошибка "The GET method is not supported for this route. Supported methods: POST" происходит при обращении к api/v1/auth/login . Вероятно это результат редиректа при попытке обращения к кабинету от лица неаутентифицированного пользователя.

Я не пробовал L8 и Sanctum, поэтому это всё мои домыслы.

#54 Re: Laravel 6/7/8/9/10/11 » Запретить смену языка для одного контроллера » 30.08.2021 10:38:59

Ничего не знаю про пакет, который ты используешь. Но:
Мне кажется ты смешиваешь локализацию пользовательского интерфейса и локализацию контента. Страницы, которые ты помещаешь в Route::multilingual, вероятно должны выдавать контент на том или ином языке, независимо от того, какой язык является предпочтительным для пользователя, т.е. на каком языке пишутся меню и служебные сообщения. Не обязательно им совпадать!
Исходя из этого, твои два метода выбора языка должны устанавливать разные переменные внутри приложения и ты сможешь использовать их в разных в приложении независимо.

#55 Re: Laravel 6/7/8/9/10/11 » Ошибка "The GET method is not supported for this route" при использова » 30.08.2021 10:22:17

Наверняка ты смотришь не на тот маршрут, про который сообщение об ошибке.

На всякий случай, попробуй команды php artisan route:list и php artisan route:clear чтобы исключить вариант что ты изменил маршруты, а они по прежнему берутся из старого кеша.

#57 Re: Laravel 6/7/8/9/10/11 » Как правильно сделать redirectTo по role на Lаravel 8? » 27.08.2021 08:13:35

Попробуй использовать отладку: доходит ли в твой метод управление? Посмотри чему равен Auth::user() и Auth::check(), как выполняются твои условия по шагам.

#58 Re: Laravel 6/7/8/9/10/11 » Не понимаю ORM, зная при этом SQL, может готовить не умею? » 27.08.2021 08:07:17

Пиши́те почти также как на сыром SQL:

$vehicles = Vehicle::join('carriers as c', 'c.id', '=', 'vehicles.carrier_id')
    ->where('c.user_id', '=', '1');
    ->orderBy('c.name')
    ->orderBy('vehicles.id')
    ->select('vehicles.*', 'c.name as carrier_name')
    ->get();

Eloquent это конечно ORM, но слабенький smile

#59 Re: Laravel 6/7/8/9/10/11 » Передать количество повторений в наследуемый шаблон Blade » 23.08.2021 08:09:39

В простейшем случае счётчик вообще не надо передавать, если он всегда одинаков. Определяй его в incl.
Другой вариант: передавать значение в @extends('layouts.parent', ['guest_count' => 20])
Третий вариант: получать значение через blade composer непосредственно в incl

Что будет "лучше/красивее" — это очень субъективно. Пробуй разное, развивай свой активный словарь и решай что лучше для тебя.

#60 Re: Laravel 5.x » Image source not readable » 19.08.2021 16:21:00

Видимо что-то изменилось - пути возможно. Надо дебажить: если не через xdebug, то выводя промежуточные значения в логи.

P.S. Ох, некропостингом занимаюсь. ))) Спамобот сбил меня с толку, изобразил живую дискуссию.

#61 Re: Laravel 5.x » Ошибка при переименовывании столбцов » 05.08.2021 15:44:13

Ну не должно быть ошибки при соединении с БД. проект вообще работает с базой кроме этой миграции?
Попробуй установить все компоненты заново: удали папку vendors и файл composer.lock, затем сделай composer install. Должно пройти без ошибок.

#62 Re: Laravel 6/7/8/9/10/11 » падают юнит тесты » 27.07.2021 07:51:08

Если цель теста в проверке что возникает исключение (а abort 404 вызывает исключение), то тебе нужен expectException()

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

https://thephp.cc/articles/questioning- … -practices
https://phpunit.de/manual/6.5/en/writin … exceptions

#63 Re: Laravel 6/7/8/9/10/11 » Не могу организовать редирект » 06.07.2021 14:00:07

Ларавель использует симфоневский Http Foundation, поэтому вероятно сходное поведение будет и в множестве других мест: новые версии PHPBB, Drupal и др.

При создании сервиса в т.ч. контроллера можно указать класс или интерфейс для инъекции. Это тема большая, не буду пытаться чему-то учить.

Если этот код не увидит никто кроме тебя, то ради бога, используй инородные сущности. Иначе не надо ))) не провоцируй хейт.

Да, правильно через посредников.

DB будет доступен. Также как и классы-модели. Будет всё доступно, кроме объектов, порождаемых в middleware.

#64 Re: Laravel 6/7/8/9/10/11 » Не могу организовать редирект » 05.07.2021 21:49:51

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

Потому что так устроен стек обработки запроса. Сначала сначала выясняется конечная точка маршрута — метод контроллера, создается экземпляр объекта этого контроллера. Потом вызываются мидлвары в прямом проходе чтобы иметь возможность поработать с запросом. И на вершине стека срабатывает обработчик роута, создается ответ на запрос. Затем мидлвары получают управление в обратном порядке, чтобы иметь возможность поработать с объектом ответа.

#65 Re: Laravel 6/7/8/9/10/11 » Не могу организовать редирект » 03.07.2021 06:51:29

Конструктор контроллера выполняется ДО того как обрабатываются куки и происходит идентификация пользователя. Поэтому проверка не работает.

Если я правильно понял задумку, то вам надо воспользоваться controller middleware. Объявление middleware не означает что её код выполнится прямо в этом месте и в этот момент. Мы таким образом помещаем проверку в очередь (стек) посредников, которые выполнятся позже конструктора, но перед обращением к методу-экшену маршрута.

#66 Re: Вакансии » Портал недвижимости » 23.06.2021 18:37:55

Какого ответа вы ждёте, Роман: "Да, хочу работать на вас, зная что денег нет"?
Движок на позицию в поисковике не влияет. ВП служит основой для примерно половины коммерческих решений. Лично я не поклонник вордпресса, но не вижу логики в вашем утверждении.
У вас нет "конкурентов", потому что сайт по ссылке выглядит просто нерабочим.

#67 Re: Laravel 6/7/8/9/10/11 » Cложный запрос через Eloquent, для получения объекта на выходе. » 14.06.2021 16:09:10

Можешь гуглить со словом "subquery". Например вот такое находится:
https://laravel.io/forum/12-23-2015-sub … ry-builder
Типа

$query1 = DB::table(DB::raw('(' . $query1->toSql() . ')  as tab1'))...

#68 Re: Laravel 6/7/8/9/10/11 » Опять магическая ошибка от ларавел:This cache store does not support » 10.06.2021 14:45:17

Последняя попытка smile

Что такое валидация? Это точка где происходит ветвление в программе: если данные отвечают заданным требованиям, то выполняется один кусок кода, а если не отвечают то другой кусок кода (обработка ошибки). Вот в этом другом куске у тебя есть нечто, требующее кэш и, ещё более конкретно, кэш с поддержкой тегов. А этой поддержки нет. Это написано английским по белому в тексте. Почему? Потому что ты взял файловый кеш. https://laravel.com/docs/8.x/cache#cache-tags

и как надо прописать валидацию чтобы она использовала раздельный кеш?

Валидация не использует кеш. Читай выше что происходит.

В стеке вызовов ты мог бы найти нужное место или мог бы пошагово дойти до него с xdebug. Надо просто научиться читать сообщения об ошибках.

#69 Re: Laravel 6/7/8/9/10/11 » Опять магическая ошибка от ларавел:This cache store does not support » 10.06.2021 12:00:11

Аргументация на уровне "Древние греки любили театр, они все мертвы. Театр - зло"
Не буду тебе мешать.

#70 Re: Laravel 6/7/8/9/10/11 » Опять магическая ошибка от ларавел:This cache store does not support » 09.06.2021 20:36:00

Это ничерта не говорит про валидацию. Отлаживайся, а не фантазируй.

#71 Re: Laravel 5.x » Сессии от посещений гуглобота » 08.06.2021 12:22:36

Упоминание мидлваров в app/Http/Kernel.php, ищи 'web'. Там будет StartSession. Расскажешь потом как его менял wink

#72 Re: Laravel 5.x » Сессии от посещений гуглобота » 08.06.2021 12:15:37

Просто спайдер не поддерживает куки, поэтому для серверного скрипта это выглядит не как новый заход того же пользователя, а как новый независимый заход. Сколько обращений, столько отдельных сессий.

Боюсь стандартными средствами Laravel ты это никак не решишь. Только если откажешься от поддержки сессий в принципе, уберешь соответствующий мидлвар.

(Не пользуйся бесплатным/копеечным хостингом чтобы тебе никто не предъявлял такую фигню)

#73 Re: Laravel 6/7/8/9/10/11 » Опять магическая ошибка от ларавел:This cache store does not support » 08.06.2021 12:07:14

Сосредоточься, Убунта. Какую ошибку? Почему ты связал её с валидацией? Я не понимаю ход твоих мыслей и, наверняка, никто не понимает.

#74 Re: Laravel 6/7/8/9/10/11 » Не работает стандартная защита BREEEZE от множественного запроса » 07.06.2021 15:24:36

Скорее всего не вызывается hit(), который этот счётчик увеличивает. Например потому, что до него не доходит управление из-за dd()

Если сложность задачи превышает твой уровень понимания, возвращайся к простому.
Тестируй то же самое на простом примере БЕЗ лишнего кода.
Прежде чем попытаться переложить трудности на чужие плечи, включи xdebug и посмотри что именно происходит.
Ты умеешь вставлять dd(), теперь убери их все (!!!) и отлаживайся без остановки скрипта.

Подвал раздела