Что бы вы хотели получить в Yii 2?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Что бы вы хотели получить в Yii 2?

Сообщение Skiller »

Посмотрите подробней магию в CWebUser возможно там просто через присваивание сразу же и заносятся в сессию данные, не помню уже. там много магии через __set() __get()
Аватара пользователя
Dr.Death
Сообщения: 129
Зарегистрирован: 2011.05.07, 18:24
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение Dr.Death »

Код: Выделить всё

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);
}
никакой магии, хочется именно чтоб оно само раскидывало всю строку из таблицы, как вариант по умолчанию отключено
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Что бы вы хотели получить в Yii 2?

Сообщение Skiller »

переопредилете в своем WebUser метод __set()

Код: Выделить всё

public function __set($name,$value)
{
        $this->setState($name,$value);
}
 
в чем проблема?)
Аватара пользователя
Dr.Death
Сообщения: 129
Зарегистрирован: 2011.05.07, 18:24
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение Dr.Death »

Да блин, нет проблем, хочется чтоб после создания юзера все данные сами заполнялись и сразу становились доступны, а не распихивать их через setState
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение slavcodev »

Вот можно заменить С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!
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Что бы вы хотели получить в Yii 2?

Сообщение Koduc »

По срокам известно чего? Когда пощупать можно будет..
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение samdark »

Неизвестно. Работаем.
Аватара пользователя
web-leaf
Сообщения: 90
Зарегистрирован: 2011.02.05, 12:41

Re: Что бы вы хотели получить в Yii 2?

Сообщение web-leaf »

Постоянно нужно большое кол-во данных возвращать в формате JSON. Саму проблему я уже как-то описывал здесь viewtopic.php?f=3&t=4349&p=27029#p27029
Т.е. для минимизации вывода еще хочется назначать однобуквенные алиасы столбцам.

Как способ реализаци я вижу это следующим образом:
- возвращенные БД данные храним в массивах. Причем на каждый столбец отдельный массив.
- свойства объекта (модели) представляют собой ссылки на элементы этого массива
- при необходимости получить массив только с необходимым набором столбцов, формируется массив со ссылками только на необходимые столбцы (массивы). Ну и имеется возможность задать алиасы ключам значений.

Таким образом получается гибкая возможность быстро сформировать минимизированный массив уже готовый для обработки функцией json_encode()
Красиво - это когда нет ничего лишнего.
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: Что бы вы хотели получить в Yii 2?

Сообщение because »

Моменты по валидации, что хотелось бы получить:
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?

Сообщение samdark »

1) Зачем?
2) И чем это лучше своего валидатора?
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: Что бы вы хотели получить в Yii 2?

Сообщение because »

Sam Dark писал(а):1) Зачем?
2) И чем это лучше своего валидатора?
1) например, необходимо что-то вывести или выполнить действие, если у атрибута n была ошибка от валидатора типа unique. Хотя это наверно специфическая задача...
2) удобством, а так, в общем-то ничем )
RTFM !
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение samdark »

1) Логичное дополнение.
2) Возможно будет в виде анонимных функций, но скорее всего не будет…
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Что бы вы хотели получить в Yii 2?

Сообщение Skiller »

И еще раз по срокам, что-нибудь прояснилось?Делаю проект на Yii 1.1.10 , проект будет большим достаточно, поэтому хотелось узнать через 1.5-2 месяца ждать релиза или нет? Не хочется правда потом все на Yii2 переписывать, но видимо придется((
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение samdark »

2 маловато.
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: Что бы вы хотели получить в Yii 2?

Сообщение because »

столкнулся с ситуацией, когда компонент(CApplicationComponent) должен делать вывод view, вызов компонента может быть как в контексте контроллера так и в в контексте CConsoleCommand. Внутри компонента я могу получить контроллер Yii::app()->getController() и его renderFile(), но CConsoleCommand так делать не умеет. Возможно ли добавить метод Yii::app()->getConsoleCommand() ?
RTFM !
Аватара пользователя
Ryadnov
Сообщения: 456
Зарегистрирован: 2010.06.20, 00:38
Откуда: Санкт-Петербург

Re: Что бы вы хотели получить в Yii 2?

Сообщение Ryadnov »

because писал(а):столкнулся с ситуацией, когда компонент(CApplicationComponent) должен делать вывод view, вызов компонента может быть как в контексте контроллера так и в в контексте CConsoleCommand. Внутри компонента я могу получить контроллер Yii::app()->getController() и его renderFile(), но CConsoleCommand так делать не умеет. Возможно ли добавить метод Yii::app()->getConsoleCommand() ?
подойдет? http://www.yiiframework.com/doc/api/1.1 ... ile-detail
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение samdark »

because, будет решение. Уже почти готово.
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Что бы вы хотели получить в Yii 2?

Сообщение Skiller »

Почти готов Yii2 или что? Кстати хотелось бы узнать немного инсайдерской инфы, думаю это наврятли будет чем-то плохим, Sam, скажи CDbCommand сохранился в Yii2 в таком виде в каком сейчас имеется? и интересуют также виджеты CGridView, и провайдеры к ним, например CSqlDataProvider?м? Важно понять просто насколько потом много надо будет переписывать в проекте чтобы под Yii2 был.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение samdark »

Skiller решение того, что описал because. CDbCommand видоизменился. CGridView и CSqlDataProvider пока не делали вообще.
Аватара пользователя
Hector
Сообщения: 18
Зарегистрирован: 2011.06.11, 14:11
Контактная информация:

Re: Что бы вы хотели получить в Yii 2?

Сообщение Hector »

Сейчас модели строятся на основе БД через gii. Хотелось бы иметь инструмент, который позволял делать все наоборот, в моделях описываем поля, связи, запускаем скрипт и он на основе модели создает\изменяет структуру таблицы.
Закрыто