Yii

О блоге

Рейтинг
4.53
голосов: 6
PHP фреймворк Yii.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (5)

Yii

Yii 1.0.9

Точно по графику вышла новая версия Yii — 1.0.9.

В этой версии исправлено приблизительно 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, запрос вида
SELECT * FROM Table;

превращается в
SELECT DISTINCT * FROM Table;


Yii как всегда порадовал!

changelog
скачать Yii 1.0.9
Yii

Yii 1.0.8

Разработчики 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. При возникновении проблем, рекомендуется изменить порядок импорта директорий.

change log
документация

p.s. обновил свои проекты — пока проблем нет!
Yii

Xss-фильтр для фреймворка Yii версия 0.0.2

Совсем недавно я писал про свой XSS фильтр для фреймворка Yii. Сегодня хочу рассказать о его новой версии и о том, что собсвенно говоря изменилось. И так…


Читать дальше
Yii

Yii 1.0.7

Вчера вышел очередной релиз фреймворка Yii.
Исправлено свыше десятка ошибок и недочетов, добавлено столько же новых возможностей.

Из новенького:

— при использовании Yii::trace(), появилась возможность выводить в лог информацию о файле и строке, где была вызвана эта функция. Для этого необходимо в файле index.php проекта определить константу YII_TRACE_LEVEL и присвоить ей значение большее чем 0.
Пример вывода:
14:00:02.717571	trace	system.web.CModule	Loading "request" application component in C:\xampp\htdocs\xomaprojects\yupe\yupe\index.php (16)


— возможность указывать якорь, при использовании CController::redirect();
— возможность «выхода» пользователя с сайта, без уничтожения информации в сессии, не относящейся к авторизации;

Полный changelog
Документация
Скачать
Yii

Yii, пишем фильтр для предотвращения XSS-атак

Начну с небольшого отступления.

И все таки правильно говорят, а на некторых форумах (особенно UNIX-овых), прямо кричат — RTFM! Кто не понял очем идет речь — RTFM в переводе означает «читай эту чертову документацию!». Это все я собственно вот к чему: изучая и что-то пытаясь написать на фреймворке Yii, возникла задача фильтрации входных данных от различного рода «зловредных» символов (аля XSS-атака) и первое что пришло в голову — это написать свой фильтр (что я все таки и сделал), однако creocoder, на форуме Yii, совершенно спрпаведливо заметил, что не зачем изобретать велосипед, все уже есть готовое, необходимо только RTFM! Речь шла о классе CHtmlPurifier, который является оберткой для библиотеки HTML Purifier, и выполняет все те функции, которые мне необходимы (правда я так и не попробывал его в действии, может и зря конечно). Но раз уж я начал писать свой фильтр — решил все таки это дело завершить, да и просто написать статью о фильтрах в Yii.

И так!


Читать дальше
Yii

Книга о Yii

На официальном форуме Yii нашел интересную тему. Известное, наверное всем, издательство Packt Publishing собирается выпустить (сначала конечно же написать) книгу о PHP-фреймворке Yii.

Ждем!
Yii

Yii - создание своих типов Action-ов

Пишу одно прлиожение на Yii Framework. Структура приложения такова, что необходимо разграничить экшены контроллеров(CController) по папкам и сделать их типовыми.
Экшены разграничиваются легко.
Предположим, что у нас есть ряд экшенов для администрирования. Всем им надо установить какие-либо свойства или же сделать при их вызове какие-то типовые действия.
Рассмотрим на примере изменения титла страницы.

Читать дальше
Yii

Yii контроллеры, экшены, фильтры и немного о производительности

Начнем с основ.

Я не ошибусь если предположу, что большинство современных фреймворков для разработки web-приложений основаны на паттерне MVC (модель-представление-контроллер). Не буду углубляться в суть этого подхода, интересующимся можно прочитать об этом тут. Yii не исключение. Для обработки запроса пользователя, необходимо создать контроллер, который может содержать несколько, так называемых «экшенов». Рассмотрим пример. Пусть, нам необходимо разработать функционал для работы с постами (допустим мы разрабатываем блог). Под «работой» я понимаю, то, что нам необходимо обеспечить возможность выполнения следующих операций — создание поста, изменение и удаление. Как правило конкретную работу выполняют как раз экшены, а контроллер служит своего рода объединяющим контейнером для них. В Yii контроллером является класс производный от CController, таким образом простейший контроллер может быть иметь следующий вид:


        class PostController extends CController   
        {   
         ...   
        }



Читать дальше
Яндекс.Метрика