Вышел долгожданный релиз Yii 1.1.
Данный релиз является результатом целого года работы над фреймворком.
Из новенького:
— , основанный на PHPUnit.
— ""
— поддержка «скинов» в виджетах
— улучшения в ActiveRecord
— в состав этого релиза, так же вошел проект — набор официальных расширений Yii.
Вчера уходя с работы, скинул на свой старенький IPAQ документацию по Yii (Guide и Blog), в надежде по дороге домой освежить свои знания. Но открыв эти файлы Adobe Reader-ом обнаружил, давно известную неприятность — файлы, так сказать не масштабировались по ширине экрана и для того, что бы хоть как-то прочитать, пришлось делать лишние движения стилусом =(.
Сегодня исправил эту проблему при помощи Adobe Acrobat Professional (Advanced--Accessibility--Add tags to document). Скинул документацию еще раз на КПК и обрадовался — она стала читаема =).
Выкладываю «пропатченную» документацию тут, может кому пригодится.
p.s. При открытии документа на КПК (я использую Adobe Reader for Pocket PC), из контекстного меню выбираем «Reflow» и документ становится прекрасно читаемым.
p.s.s При выходе новых версий фреймворка, постараюсь обновлять и архив.
p.s.s.s ActiveSync кажется, делает это «на лету», но я им просто не пользуюсь =)
Первая версия новой ветки Yii фреймворка, что новенького:
— добавлен, основанный на , фреймворк для тестирования. Теперь разработчики могут значительно проще писать Unit-тесты и функциональные тесты.
— добавлен, «конструктор форм», который позволяет создавать HTML-формы при помощи объектов. Это позволяет значительно упростить повторное использование форм.
— добавлена возможность изменять темы оформления (скины) для виджетов.
— сделаны изменения в ActiveRecord, для более простого использования.
Кроме всех этих изменений, разработчики Yii начали работу над новым проектом — «zii», который представляет собой набор официальных расширений Yii. Теперь этот набор будет входить во все последующие версии фреймворка.
Здравствуйте. Сегодня я хочу поделиться с вами концептом расширяемой структуры приложения на Yii Framework.
На оригинальность не претендую, но может быть кому-нибудь будет полезно.
В этой версии исправлено приблизительно 10 ошибок и сделано 20 усовершенствований. В частности была улучшена производительность Active Record, путем исключения ненужных SQL JOIN-ов.
Обновление до версии 1.0.9 должно пройти безболезненно, однако следует обратить внимание на выполнение релационных запросов с «ленивой загрузкой». Благодаря новым изменениям, реляционный запрос не будет объединять связанную таблицу с основной (иными словами join-a происходить не будет, реляционный запрос, по полученному из основной таблицы, первичному ключу, простым «селектом» выберет данные из подчиненной таблицы).
Из вкусненького:
— в класс CActiveRecord добавлен метод onBeforeFind и событие onBeforeFind — вызываемые перед отработкой метода выборки/поиска find() и findAll();
— в класс CDbCriteria добавлен метод addCondition — который позволяет добавлять условия выборки для запроса;
Метод имеет следующий вид:
public void addCondition(mixed $condition, string $operator='AND')
— в класс CDbCriteria добавлено свойство distinct, установив которое в true, запрос вида
Разработчики Yii как всегда пунктуальны. Точно в срок вышла версия 1.0.8 этого фреймворка.
В релиз вошли исправления найденных ошибок, а так же около двадцати улучшений.
Из новенького:
— в компоненты кэширования добавлен метод mget() — для получения нескольких значений из кэша, что позволяет сократить время получения кэшированных данных. Возврат нескольких значений поддерживают APC и MemCache, остальные хранилища кэша эмулируют эту возможность;
— Улучшена встроенная консоль yiic shell, теперь создавать классы, расширяющие ее функционал стало проще;
Мелочь, а приятно:
— При использовании компонента CCAptcha, можно кликать на самом изображении для его замены;
— Добавлены шаблоны ошибок на русском языке;
— Методы bindParam() и bindValues() компонента CDbCommand, возвращают объект «команды», что позволяет объединить их вызовы в цепочку. Пример:
$result = $connection->createCommand('select * from table where id = :id')->bindParam(':id',5,PDO::PARAM_INT)->query();
— В компонент CFormModel и CActiveRecord добавлен метод init() — вызываемый сразу после создания объекта;
При переходе на версию 1.0.8 следует быть осторожным, так как поменялся принцип работы метода Yii::import(). В новой версии, директория импортированная данным методом, имеет больший приоритет чем include path. При возникновении проблем, рекомендуется изменить порядок импорта директорий.
Совсем недавно я писал про свой XSS фильтр для фреймворка Yii. Сегодня хочу рассказать о его новой версии и о том, что собсвенно говоря изменилось. И так…