L!MP, хозяина по сути не сложно получить, ведь то же фото логично загружать с указанием кто загрузил
L!MP, хозяина по сути не сложно получить, ведь то же фото логично загружать с указанием кто загрузил
L!MP (17.09.2012/22:36)Такое модуль должен отрабатывать сам.
AlkatraZ, я просто думал что ты там писал о исключительных ситуациях, таких как, например: фото, его может CRUD`ить не только админ состав, но и хозяин фотографии.
Это в роли не запихнёшь.
Но я думаю, чтоб не усложнять систему, можно просто добавить еще одну системную роль, это limited_user
Он уже не гость, но ему еще не разрешено что-либо делать.
такая ситуация может быть при еще не подтвержденной регистрации, при бане.
AlkatraZ, можно просто в ACL ввести исключения:
ACL::allow($user->role, 'photo.edit', function() use ($user, $photo) {
return $user->id === $photo->id;
}); AlkatraZ (17.09.2012/22:11)Не так выразился) имел в виду проверяется наличие привилегии в определённой группе.
А вот тут неверно. Как же ты узнаешь привилегии, если не знаешь, к какой группе относится юзер?
L!MP, Думаю в направлении шаблона - "Цепочка обязанностей" - но что то сомневаюсь.
По сути объектная реализация предполагает либо:
1. Использование полиморфных классов при реализации функциональности - один класс для админа, который, соответственно, имеет админскую функциональность, один для пользователя и т.д. Можно так же воспользоваться шаблоном - Стратегия;
2. Инкапсуляция роли в объект и полиморфная замена роли, при этому коду будет как то параллельно с какой ролью он работает, роль сама подстраивает код под себя.
Вообще меня очень смущает if-else скрипт, реагирующий на роли. То есть:
if($role == 1){
...
}
elseif($fole == 2){
...
}
...Расширение такой модели гораздо гибче, нежели описанной выше, так как для изменения роли, нет необходимости переписывать скрипт, достаточно добавить или удалить права доступа, расширяющие данную роль.
Delphinum, ты бы код дал подробный, словами я туго догоню, по коду быстрее
тoecть этo мнe нaдo бyдeт имeть cпиcok мeтoдoв мoдyля и пoтом дaю дocтyп poлям k ним?
т.e y мeня ecть poль юзep - дaю eмy дocтyп к мeтoдy чтeния и зaпиcи тak?