Вы уверены, что читали?По большому счёту это обёртка вокруг четырёх классов CActiveRecord, CDbCriteria, CPagination и CSort.
Model, когда использовать?
- flashimage
- Сообщения: 1517
- Зарегистрирован: 2011.01.23, 12:43
Re: Model, когда использовать?
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Да, я просто не понимаю зачем он нужен...flashimage писал(а):Вы уверены, что читали?По большому счёту это обёртка вокруг четырёх классов CActiveRecord, CDbCriteria, CPagination и CSort.
Re: Model, когда использовать?
Сгенерируйте CRUD и перейдите на страницу admin. Вот для этого и нужен
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Как еще можно роли задавать?destin9000 писал(а):Спасибо, я читал, но так и не понял для чего он..
Чем он отличается от CActiveRecord?
Прочитал про RBAC, понравилось:Только вот куда данный код пихать - не понял.Или yii автоматически читает все файлы из папки config и надо просто создать там файл?Код: Выделить всё
$bizRule='return Yii::app()->user->name === "admin";'; $auth->createRole('admin', 'администратор', $bizRule); $bizRule='return Yii::app()->user->isGuest;'; $auth->createRole('guest', 'гость', $bizRule);
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Наиболее простым способом.
-
- Сообщения: 271
- Зарегистрирован: 2012.11.30, 07:33
Re: Model, когда использовать?
Вы как-то не внимательно ознакамливались с документацией. Не в обиду будет сказано, но если б вы прочитали хотя бы введение в Yii, или просто посмотрели бы свой index.php сгенерированный yiic, то увидели бы следующие строчки:destin9000 писал(а): Только вот куда данный код пихать - не понял.Или yii автоматически читает все файлы из папки config и надо просто создать там файл?
Код: Выделить всё
$yii=dirname(__FILE__).'/yii/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
Re: Model, когда использовать?
Это да, тут он сморозил, но вопрос то был в другом - не доказать неверность его догадки, а "Только вот куда данный код пихать - не понял", на который вы почему то не ответили, хотя внимательно ознакамливаетесь с документацией.Yii не читает все что хранится в config/*
-
- Сообщения: 271
- Зарегистрирован: 2012.11.30, 07:33
Re: Model, когда использовать?
Я не читал про RBAC, по этому и не ответил на этот вопрос. Про конфиги упомянул только из-за того что это чуть ли не первые строки с чего начинается гайд (http://www.yiiframework.com/doc/guide/1 ... sics.entry). Я сам изучаю Yii и соответственно много еще чего не знаю и не хотел никого обидеть.maleks писал(а):Это да, тут он сморозил, но вопрос то был в другом - не доказать неверность его догадки, а "Только вот куда данный код пихать - не понял", на который вы почему то не ответили, хотя внимательно ознакамливаетесь с документацией.Yii не читает все что хранится в config/*
Re: Model, когда использовать?
destin9000, в соседней теме по аналогичному вопросу кое что прояснилось с RBAC.
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Т.е данный код надо в конфигурационный файл пихать?Вы в своем уме?Vespertilio писал(а):Вы как-то не внимательно ознакамливались с документацией. Не в обиду будет сказано, но если б вы прочитали хотя бы введение в Yii, или просто посмотрели бы свой index.php сгенерированный yiic, то увидели бы следующие строчки:destin9000 писал(а): Только вот куда данный код пихать - не понял.Или yii автоматически читает все файлы из папки config и надо просто создать там файл?Где первая, это адрес к собственно фреймворку, а вторая на конфиг файл вашего приложения. Yii не читает все что хранится в config/* .Код: Выделить всё
$yii=dirname(__FILE__).'/yii/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php';
maleks, спасибо.
Последний раз редактировалось destin9000 2013.03.13, 12:17, всего редактировалось 1 раз.
Re: Model, когда использовать?
он вроде этого и не советовал.Т.е данный код надо в конфигурационный файл пихать?
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Вот всё в yii понимаю(сейчас изучаю), но RBAC нихрена не понимаю....
Для того, что бы задать обычные роли мне надо написать 3 класса, массив, непонятно с чем, и в конфиге добавить несколько десятков строк?
1)
Какого хрена roles?Т.е стандартных ролей может быть несколько, можно наверно сразу админом стать?
2)
Ну это ясно, тип:роль, может быть еще задание.Но почему надо указывать через константу(которой кстати не существует - http://www.yiiframework.com/doc/api/1.1 ... tem,посему как узнать что это - хз), а прямо не через
3)Во вторых - почему метод getId надо создавать в классе UserIdentity а getRole уже в WebUser, логично ведь что оба метода должны быть в WebUser.
И:
$this->username
// в самом приложении. Используется как Yii::app()->user->name.
?Там username, а тут уже name..
Вот непонимаю я этого всего..
Для того, что бы задать обычные роли мне надо написать 3 класса, массив, непонятно с чем, и в конфиге добавить несколько десятков строк?
1)
Код: Выделить всё
'defaultRole[b]s[/b]' => array('guest'),
2)
Код: Выделить всё
type' => CAuthItem::TYPE_ROLE,
Код: Выделить всё
'type'=>'role'
И:
Код: Выделить всё
// Далее логин нам не понадобится, зато имя может пригодится
// в самом приложении. Используется как Yii::app()->user->name.
// realName есть в нашей модели. У вас это может быть name, firstName
// или что-либо ещё.
$this->username = $user->realName;
// в самом приложении. Используется как Yii::app()->user->name.
?Там username, а тут уже name..
Вот непонимаю я этого всего..
-
- Сообщения: 101
- Зарегистрирован: 2012.06.05, 14:32
- Откуда: Петрозаводск
- Контактная информация:
Re: Model, когда использовать?
1) Через массив, потому что в нем можно указать не только роли, но и задания и операции, а их может быть и несколько.
2) Константы существуют - https://github.com/yiisoft/yii/blob/1.1 ... thItem.php
2) Константы существуют - https://github.com/yiisoft/yii/blob/1.1 ... thItem.php
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Код: Выделить всё
$bizRule='return Yii::app()->user->name === "admin";';
$auth->createRole('admin', 'администратор', $bizRule);
$bizRule='return Yii::app()->user->isGuest;';
$auth->createRole('guest', 'гость', $bizRule);
Re: Model, когда использовать?
К этому коду надо добавить
и выполнить его.
В результате этого создастся файл 'protected/data/auth.php' из которого эту конфу компонент CPhpAuthManager будет брать при своей инициализации (метод init())
Код: Выделить всё
$auth->save();
В результате этого создастся файл 'protected/data/auth.php' из которого эту конфу компонент CPhpAuthManager будет брать при своей инициализации (метод init())
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Спасибо)maleks писал(а):К этому коду надо добавитьи выполнить его.Код: Выделить всё
$auth->save();
В результате этого создастся файл 'protected/data/auth.php' из которого эту конфу компонент CPhpAuthManager будет брать при своей инициализации (метод init())
А как выполнить, скопировать данный код в контроллер?
Re: Model, когда использовать?
да, только не забудь сперва
Код: Выделить всё
$auth=Yii::app()->authManager;
-
- Сообщения: 225
- Зарегистрирован: 2013.03.10, 12:47
Re: Model, когда использовать?
Огромное спасибо)maleks писал(а):да, только не забудь сперваКод: Выделить всё
$auth=Yii::app()->authManager;
Можеш ответить еще на один вопросик?
1)Если в виджете мне надо использовать некую функцию, для обрезки текст(неважно), где ее правильнее написать?В самом виджете как private function?
Re: Model, когда использовать?
да, в виджете, если она не использует св-ва виджета, то static тогда сделать, а так - private.
тоже самое насчет:
Потому что в WEBUSER::login передается объект идентификации и от него ожидается id-шка.3)Во вторых - почему метод getId надо создавать в классе UserIdentity
тоже самое насчет:
$this->username - $this тут - это объект идентификации, после того как он передастся в WEBUSER::login из него как раз и создастся Yii::app()->user->name$this->username
Re: Model, когда использовать?
Такие функции лучше выносить в хелперы(по сути класс со статическими методами), т.к. наверняка обрезать текст придется не в 1 местеdestin9000 писал(а): 1)Если в виджете мне надо использовать некую функцию, для обрезки текст(неважно), где ее правильнее написать?В самом виджете как private function?
ЗЫ. А вообще не стоит все вопросы в 1 теме задавать, а то начали с моделей, а тут уже и rbac и обрезка текста и прочее