K
одного из требует указывать в модели, имя гварда
Владислав
делаем свои роли, присваиваем сущности роль, танцуем мидлвар
Владислав
конфигурим пермишены ещё
Владислав
не знаю, зачем вообще трогать деф. гварды
Владислав
там только гость да юзер
K
а их и не приходится трогать, нужно указать лишь какой использовать
K
только необходимо тригерить какой
Владислав
а их и не приходится трогать, нужно указать лишь какой использовать
ну так задай сущности роль и настрой миддлвар
Владислав
задать можно, например, при регистрации
K
на этапе роутинга задается пермишен, происходит валидация на юзера, потом идёт проход в модель и проверяется с каким гвардом следует проверять заданные в роутах пермишен
K
так вот с такой цепочкой как я тригерну гвард в моделе
K
дума что-то не знваю
Владислав
нафига хранить в модели пермишены?
Владислав
или я тебя не так понял..
Владислав
смотри, крч, как можно сделать
K
пакет этот просит в моделе задать имя гварда)
Владислав
понятно. тогда мой совет был уже выше ) попробуй нормальный пакет с нормальной архитектурой )
Dmitry
котому что коллекция сама по себе объект и он существует. у нее для подобного есть методы для проверки есть элементы или нет
Да, но мне надо проверить было в конструкции запроса чтобы пагинация эта была, но все равно уже понял что логика неверная самого запроса. Типа поиск по параметрам товара. Надо будет взять те которые подходят под первый параметр, а после на каждой следующей итерации отсекать id товара Впервые такую хуйню пишу С первого раза и не понял как это делать
Владислав
там централизованно настраиваются роли и пермишены для них )
K
ок, спасибо
Владислав
нез )
Arcos
😞 а я его испольовал. https://github.com/santigarcor/laratrust/tree/5.0
Владислав
Arcos
Потому что не видел энтраста?
Владислав
п.с.: выбирать пакет удобно прямо на packagist.org там удобные фильтры и сразу видно популярность / актуальность пакета
Arcos
Потому что не видел энтраста?
в итоге писал для контроллеров свои обертки, нативно контроллирующие права доступа
Владислав
ну, зато у тебя +experience теперь
Владислав
можешь сделать pull request в пакет и получить ещё + в портфолио как контрибьютер
Andrew
Хм, я тоже обычно пакет от spatie использовал, в целом никаких проблем)
Andrew
Вообще у этих ребят много хорошего в арсенале
Arcos
Хм, я тоже обычно пакет от spatie использовал, в целом никаких проблем)
я смотрел на их решение - но команд (teams) там не нашел
Arcos
Всмысле?
Мне нужно было деление не только по правам но и по командам. Искал комплексное решение. У них (на тот момент или может я не увидел) понятия teams не было
Arcos
То есть мне нужно было teams, roles, permissions
Andrew
Ух, ну да, у них такого нет. Да и не лишнее ли это, когда есть роли?
Владислав
teams можно рассматривать как группы ролей. поэтому нет, не лишнее.
Nik
в итоге писал для контроллеров свои обертки, нативно контроллирующие права доступа
чем вам стандартный can не угодил? с гвардами выглядит так - \Auth::partner()->can('PartnerModelList')
Arcos
Ух, ну да, у них такого нет. Да и не лишнее ли это, когда есть роли?
когда делается сервис где дается единое пространство в рамках одной команды - это очень нужно
Владислав
1С-Битрикс тим :D
Andrew
teams можно рассматривать как группы ролей. поэтому нет, не лишнее.
Да, тогда у spatie такого нет. Возможно - пока нет.
Владислав
я такого вообще ещё не видел. в entrust не юзал (возможно, там есть это, я не обращал внимания)
Andrew
я такого вообще ещё не видел. в entrust не юзал (возможно, там есть это, я не обращал внимания)
И я сейчас по entrust пробежал - нету там такого. Только самим ваять.
Владислав
ну, надо что-то и самим делать :D
Владислав
не всё фреймворк конфигурить :D
Arcos
я такого вообще ещё не видел. в entrust не юзал (возможно, там есть это, я не обращал внимания)
в энтрасте есть хорошее решение по подключению прав в контроллер. Поэтому жаль что я раньше не смог подсмотреть решение
Владислав
ну, зато теперь вы знаете, как правильно выбрать пакет =)
Владислав
п.с.: ларавель настолько хорош, что немного опасен. когда вы попробуете более низкоуровневый фреймворк, может случиться ступор :D
Владислав
это я про symfony / yii 2 и прочие. laravel сильно балует разраба
Arcos
Раз уж разговор зашел о коде и решении. Может кто замечания свои сказать?
Arcos
Владислав
оформление привести в порядок, прежде всего. сейчас логику посмотрю.
Arcos
1. оформлен не по psr
пробелы - переносы?
Arcos
Владислав
во, норм
Владислав
в нотации, если не ошибаюсь, указывают ещё название переменной
Владислав
@var array
Владислав
после типа
Владислав
например @var array $accessRoles
Александр
это я про symfony / yii 2 и прочие. laravel сильно балует разраба
symfony это не низкоуровневый фрейм, у него просто архитектура другая, и многие bad practices в отличии от лары не поощряются, типа статических прокси (которые в ларе называются фасады), обилие хелперов которые пытаются заменить собой DI, что повышает связность проджекта, запихивание работы в очередь с помощью интерфейсов (Queueable) и прочее прочее
Александр
@var array
не указаывают если проперти класса
Александр
указывают, если внутри метода надо проаннотировать чтото, или аннотацию к методу пишешь
Andrew
это я про symfony / yii 2 и прочие. laravel сильно балует разраба
Ну по сравнению с Yii2, как по мне, лара наоборот более "дисциплинирует" и ведет в правильных направлениях.
Andrew
Symfony да, более многословен и строг
Владислав
Ну по сравнению с Yii2, как по мне, лара наоборот более "дисциплинирует" и ведет в правильных направлениях.
я касался и Yii 2, и Symfony лишь кончиком мизинца левой ноги ) вот с Silex'ом работал активно. и подобные решения, где нужно писать больше на чистом php, потом могут даваться сложнее, я именно это хотел сказать )
Владислав
так-то, вроде, норм.
Владислав
если не считать больших условий. тут можно порефакторить
Arcos
так-то, вроде, норм.
Меня интересует насколько корректно было использование checkAuth и callAction в контексте проверки прав?
Александр
А как без хелперов ? 😊
прокидывать все зависимости в методы / контроллеры класса,вместо event юзать 'Illuminate\Events\Dispatcher', например и так далее
Arcos
если не считать больших условий. тут можно порефакторить
вынести в переменную и потом в условии просто проверить переменную?
Владислав
вынесете все подобные проверки в миддлвар, в контроллере только логика.
Владислав
вынести в переменную и потом в условии просто проверить переменную?
тут надо подумать. мб, есть вообще лишние условия?