Что бы вы хотели получить в Yii 2?
Re: Что бы вы хотели получить в Yii 2?
Посмотрите подробней магию в CWebUser возможно там просто через присваивание сразу же и заносятся в сессию данные, не помню уже. там много магии через __set() __get()
Re: Что бы вы хотели получить в Yii 2?
Код: Выделить всё
public function __set($name,$value)
{
if($this->hasState($name))
$this->setState($name,$value);
else
parent::__set($name,$value);
}
public function __get($name)
{
if($this->hasState($name))
return $this->getState($name);
else
return parent::__get($name);
}
Re: Что бы вы хотели получить в Yii 2?
переопредилете в своем WebUser метод __set()
в чем проблема?)
Код: Выделить всё
public function __set($name,$value)
{
$this->setState($name,$value);
}
Re: Что бы вы хотели получить в Yii 2?
Да блин, нет проблем, хочется чтоб после создания юзера все данные сами заполнялись и сразу становились доступны, а не распихивать их через setState
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
Вот можно заменить СUserIdentity на такой класс
creocoder писал(а):Код: Выделить всё
class User extends CActiveRecord implements IUserIdentity { private $_isAuthenticated=false; private $_state=array(); public static function model($className=__CLASS__){ return parent::model($className); } public function tableName(){ return 'user'; } public function getId(){ return $this->id; } public function getName(){ return $this->name; } public function getPersistentStates(){ return $this->_state; } public function setPersistentStates($states){ $this->_state=$states; } public function getIsAuthenticated(){ return $this->_isAuthenticated; } public function getState($name,$defaultValue=null){ return isset($this->_state[$name]) ? $this->_state[$name] : $defaultValue; } public function setState($name,$value){ $this->_state[$name]=$value; } public function clearState($name){ unset($this->_state[$name]); } }
Жду Yii 3!
Re: Что бы вы хотели получить в Yii 2?
По срокам известно чего? Когда пощупать можно будет..
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
Неизвестно. Работаем.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Постоянно нужно большое кол-во данных возвращать в формате JSON. Саму проблему я уже как-то описывал здесь viewtopic.php?f=3&t=4349&p=27029#p27029
Т.е. для минимизации вывода еще хочется назначать однобуквенные алиасы столбцам.
Как способ реализаци я вижу это следующим образом:
- возвращенные БД данные храним в массивах. Причем на каждый столбец отдельный массив.
- свойства объекта (модели) представляют собой ссылки на элементы этого массива
- при необходимости получить массив только с необходимым набором столбцов, формируется массив со ссылками только на необходимые столбцы (массивы). Ну и имеется возможность задать алиасы ключам значений.
Таким образом получается гибкая возможность быстро сформировать минимизированный массив уже готовый для обработки функцией json_encode()
Т.е. для минимизации вывода еще хочется назначать однобуквенные алиасы столбцам.
Как способ реализаци я вижу это следующим образом:
- возвращенные БД данные храним в массивах. Причем на каждый столбец отдельный массив.
- свойства объекта (модели) представляют собой ссылки на элементы этого массива
- при необходимости получить массив только с необходимым набором столбцов, формируется массив со ссылками только на необходимые столбцы (массивы). Ну и имеется возможность задать алиасы ключам значений.
Таким образом получается гибкая возможность быстро сформировать минимизированный массив уже готовый для обработки функцией json_encode()
Красиво - это когда нет ничего лишнего.
Re: Что бы вы хотели получить в Yii 2?
Моменты по валидации, что хотелось бы получить:
1) Возможность определить, от какого валидатора(unique, required и тп) отдается ошибка. getErrors предоставляет только текст ошибки.
Иногда бывает необходимо определить какого типа ошибка
2) Валидация атрибутов, основывающихся на значениях других атрибутов. Сейчас это приходится делать такими путями: либо создать свой валидатор, либо напрямую проверить глобальный массив $_POST на значение и присвоить сценарий.
Как вариант, было бы удобно определять expression, результат которого определял, применять ли данное правило к атрибуту. например array('name', 'required', 'expression'=>'$this->param > 0')
1) Возможность определить, от какого валидатора(unique, required и тп) отдается ошибка. getErrors предоставляет только текст ошибки.
Иногда бывает необходимо определить какого типа ошибка
2) Валидация атрибутов, основывающихся на значениях других атрибутов. Сейчас это приходится делать такими путями: либо создать свой валидатор, либо напрямую проверить глобальный массив $_POST на значение и присвоить сценарий.
Как вариант, было бы удобно определять expression, результат которого определял, применять ли данное правило к атрибуту. например array('name', 'required', 'expression'=>'$this->param > 0')
RTFM !
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
1) Зачем?
2) И чем это лучше своего валидатора?
2) И чем это лучше своего валидатора?
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
1) например, необходимо что-то вывести или выполнить действие, если у атрибута n была ошибка от валидатора типа unique. Хотя это наверно специфическая задача...Sam Dark писал(а):1) Зачем?
2) И чем это лучше своего валидатора?
2) удобством, а так, в общем-то ничем )
RTFM !
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
1) Логичное дополнение.
2) Возможно будет в виде анонимных функций, но скорее всего не будет…
2) Возможно будет в виде анонимных функций, но скорее всего не будет…
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
И еще раз по срокам, что-нибудь прояснилось?Делаю проект на Yii 1.1.10 , проект будет большим достаточно, поэтому хотелось узнать через 1.5-2 месяца ждать релиза или нет? Не хочется правда потом все на Yii2 переписывать, но видимо придется((
Re: Что бы вы хотели получить в Yii 2?
столкнулся с ситуацией, когда компонент(CApplicationComponent) должен делать вывод view, вызов компонента может быть как в контексте контроллера так и в в контексте CConsoleCommand. Внутри компонента я могу получить контроллер Yii::app()->getController() и его renderFile(), но CConsoleCommand так делать не умеет. Возможно ли добавить метод Yii::app()->getConsoleCommand() ?
RTFM !
Re: Что бы вы хотели получить в Yii 2?
подойдет? http://www.yiiframework.com/doc/api/1.1 ... ile-detailbecause писал(а):столкнулся с ситуацией, когда компонент(CApplicationComponent) должен делать вывод view, вызов компонента может быть как в контексте контроллера так и в в контексте CConsoleCommand. Внутри компонента я могу получить контроллер Yii::app()->getController() и его renderFile(), но CConsoleCommand так делать не умеет. Возможно ли добавить метод Yii::app()->getConsoleCommand() ?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
because, будет решение. Уже почти готово.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Почти готов Yii2 или что? Кстати хотелось бы узнать немного инсайдерской инфы, думаю это наврятли будет чем-то плохим, Sam, скажи CDbCommand сохранился в Yii2 в таком виде в каком сейчас имеется? и интересуют также виджеты CGridView, и провайдеры к ним, например CSqlDataProvider?м? Важно понять просто насколько потом много надо будет переписывать в проекте чтобы под Yii2 был.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
Skiller решение того, что описал because. CDbCommand видоизменился. CGridView и CSqlDataProvider пока не делали вообще.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Сейчас модели строятся на основе БД через gii. Хотелось бы иметь инструмент, который позволял делать все наоборот, в моделях описываем поля, связи, запускаем скрипт и он на основе модели создает\изменяет структуру таблицы.