Laravel по-русски

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

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

#1 Re: Laravel 5.x » ABAC (RLS) в laravel » 08.10.2019 22:16:10

Посмотри Laratrust со включенной опцией Teams

#2 Re: Laravel 5.x » Как по документации понимать объектную модель? » 07.10.2019 19:55:57

Ну а как бы ты огранизовал это без Laravel? Также делай и здесь.
Почему то что есть плохо? Потому что слишком много магии, не работает в некоторых ситуациях, сомнительное смешение областей отвественности.

#3 Re: Laravel 5.x » Как по документации понимать объектную модель? » 07.10.2019 19:26:11

Хотели как лучше, а в итоге нарушили все каноны. ПМСМ, пагинатор Laravel это то, чего надо избегать.

#4 Re: Laravel 5.x » Заливать проект laravel на хостинг через git » 24.09.2019 08:37:06

Именно так: поставил на хостинге композер и т.п. и запускаешь его. Всё как на локальном.

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

Для развертывания можно на удаленном сервере написать bash файл с такими командами:

#!/bin/bash
git pull -f
composer install
php artisan cache clear
php artisan migrate --seed

Автоматическое развертывание можно настроить если этот командник будет вызываться по хуку из репозитария. На GitHub и Bitbucket это делается запросто.

#6 Re: Laravel 5.x » Помогите исправить запрос » 21.09.2019 11:41:20

У тебя тут не один запрос, а три. Причем два в цикле smile Тебе исправить три запроса?

Можно сделать в одно выражение Eloquent используя фишку withCount. Если есть фильтрующее условие типа state=1, то оно должно быть также указано в описании связи, либо в самом запросе через whereHas().

#7 Re: Laravel 5.x » не хватает папок » 09.09.2019 20:36:11

Какие-то вещи вы должны интуитивно чувствовать, а не искать что вам каждую букву распишут. Например, если вы пару классов сами создавали на php, вы должны засомневаться а точно ли нужна папка App/Projects ? smile Или таки имеется в виду что-то другое. К тому же в ларавель все папки первого уровня именуются исключительно в нижнем регистре. Нет там App и Routes.
Видимо вы что-то додумали от себя.

#8 Re: Laravel 5.x » Посоветуйте Гайд или Статью по Правильному написанию Админки ! » 06.09.2019 13:42:42

Гайдов не знаю. ИМХО, лучший сценарий:
- выбрать библиотеку контроля доступа. критерии: звездность и соответствие твоим ожиданиям.
- найти заготовку админки, в которую встроена выбранная библиотека. например так: laratrust+adminlte.
критерии: опять звезды + CSS фреймворк который нравится

Кроме того, есть радикальные средства для админки, которые требуют полного разрыва шаблонов. Они брутально и решительно навязывают тебе свою философию. Ты либо принимаешь это, либо поливаешь гуаном. Я имею в виду Nova. Попробуй. big_smile

И уже тогда, когда ты имеешь 1 или 2 кандидатов, ищешь читабельный гайд cо словами quickstart или introduction.
Писать что-то с нуля, не имея опыта в теме, правда не стоит. Заготовки рулят.

Надеюсь мой подход тебе пригодится.

#10 Re: Laravel 5.x » Передача параметров в сервис-контейнер » 23.08.2019 10:51:54

Ты излишне усложняешь. Не надо передавать параметр снова и снова, сохрани его в приватное свойство и используй. Короче, начни уже кодить это и увидишь, что всё не так страшно.
У меня есть сервисы, сохраняемые в конструкторе контроллера, которые позже в экшене получают объект из запроса и отдают его в другие сервисы. Никаких ментальных блоков я не испытываю. smile

#11 Re: Laravel 5.x » Правильная выборка из Базы Данных (Посоветуйте как лучше) » 23.08.2019 08:34:59

Я не знаю публично доступных примеров, но уверен что они есть. Так сложилось, что я учил это на практике в приватных проектах.
Ищи объемные учебные проекты. Как я писал выше, смысл в дополнительном слое появляется при нарастании сложности. Может быть тебе рано об этом думать smile

#12 Re: Laravel 5.x » Передача параметров в сервис-контейнер » 23.08.2019 08:23:13

...вспомогательного класса определенного через интерфейс (FileStorage). И вот этот 
вспомогательный класс должен получать id из URI.

Получай параметр не через конструктор, а через метод интерфейса. Это снимет проблему.

#13 Re: Laravel 5.x » Правильная выборка из Базы Данных (Посоветуйте как лучше) » 21.08.2019 17:32:23

Твой конкретный пример не показателен. Слишком простая задача взять все записи из одной таблицы. smile

Логику уровня построения запросов выгодно выносить в репозитории или сервисы, как хочешь назови, чтобы скрыть детали реализации, сделать контроллеры проще и читабельнее и в итоге облегчить обслуживание проекта. В идеале метод контроллера содержит только валидацию (если она не вся в классе запроса), может быть проверку прав и обращение к вьюхе. Всё! Не надо там никаких цепочек eloquent или raw SQL. Должно быть разделение ответственности.

#14 Re: Общий раздел » ларавель апи » 09.08.2019 12:46:14

Хоть jwt, хоть passport, всё будет правильно smile Статей и уроков миллион, я бы читал те, которые на авторитетных площадках размещены. Типа scotch.io или tutsplus.com

Начать надо с понимания принципов rest. Типа, для чего нужны разные методы http, смысл stateless.
Второй важный момент - отладка и документирование. Пользуйся postman и описывай API по правилам apidoc. В общем, система должна быть в действиях.

#15 Re: Laravel 5 » Скелетон для фреймворка версии 5.8? » 07.08.2019 10:01:33

P.S. С нетерпением жду релиза 6.0, он обещан в августе. Отвелл сказал что это будет обычный релиз, ничего кардинального, просто так случилось, что перешли на следующий мажорный номер.
Про LTS он не упомянул, но кто знает, уже пора smile

Инфа с laravel-news.com

#16 Re: Laravel 5 » Скелетон для фреймворка версии 5.8? » 05.08.2019 14:46:07

П.С. С версией Линукс я поступаю также: LTS и выборочный апгрейд.

#17 Re: Laravel 5 » Скелетон для фреймворка версии 5.8? » 05.08.2019 14:43:49

Ты знаком с таким понятием как Long Time Support?
На сегодня Laravel 5.5 это LTS. Следующий пока не объявлен. Видимо это будет не 5.8.
Короче, если важна стабильность и ты НЕ будешь апдейтить проект каждый раз как что-то новое родится, то юзай 5.5. Это моё сугубое мнение.

Есть оговорки: некоторые пакеты таки признаны устаревшими и при composer install появляются ворнинги. Их можно проапгрейдить отдельно - вот результат и будет твоим личным скелетоном.
Я беру в основу 5.5 и обновляю Carbon и phpunit.

#18 Re: Laravel 5.x » Скрытые файлов в public » 25.07.2019 20:27:22

На "голом PHP" это было бы как-то так:

header("Content-type: image/png"); // ну или другой тип какой надо
readfile("$pathToPngfile);
exit;

А на Laravel как-то так:

return response()->file($pathToFile);

Laravel должен сам позаботиться о правильных заголовках ответа.

#19 Re: Laravel 5 » Дубли страниц для СЕО » 24.07.2019 23:34:56

В таком варианте нужно будет использовать str_replace

Даже если так, можно один раз написать функцию-хелпер canonical(), впендюрить в неё всю нужную логику и использовать её в шаблонах.

#21 Re: Laravel 5.x » Скрытые файлов в public » 24.07.2019 23:29:34

Ну видимо надо начать с того, что физически этих файлов не должно быть в public. Если есть авторизация доступа, значит надо отдавать файл через PHP (через роуты, контроллеры и т.д. как ты странички отдаёшь, всё так же, только тип контента другой)

#23 Re: Laravel 5 » Дубли страниц для СЕО » 23.07.2019 20:35:23

Есть как минимум два выхода: <link rel=canonical> чтобы поисковик знал правильный вариант и рерайт адреса.

https://support.google.com/webmasters/a … 9066?hl=en
https://stackoverflow.com/q/25105872/272885

#24 Re: Laravel 5.x » задания в планировщике не до конца отрабатывают » 21.07.2019 07:44:46

Такой скрипт будет выполняться в один поток, поэтому хоть цикл, хоть буквально перечислить итерации, результат будет примерно как 60/(время_выполнения_процедуры_в_сек + 1).
Плюс один в скобках дрбавояет ваш sleep.

Может быть не надо всё усложнять, а наоборот, вернуться к постановке задачи и найти альтернативный подход? Что изначально требуется сделать?

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