Yii:Правило валидации "safe", для тех, кто в танке



Вступление

Зачастую, начинающие Yii программисты, непонимают для чего нужно правило валидации «safe». Эта статья должна прояснить путанницу, и заодно объяснить, что такое саммовое присваивание.

Вкраце. Правила валидации служит двум целям:
Убедиться, что данные переданные через форму, введены корректно.
Определить, какие поля могут быть назначены переменной $model.
Они связанны, но она не являются одним и тем же.

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

Установка Yii framework.С чего я начал.

PHP
Установка Yii framework.С чего я начал.

Почитав про Yii и определившись, что это именно то, что мне нужно я захотел установить этот фреймворк на компьютер и пропробовать что ни будь с помощью него написать. Оказалось, что это не так просто! Но обо всем по порядку. Я скачал с сайта yiiframework.com установочный пакет в виде архива. С этим у меня проблем не возникло.
Надо сказать, что для программирования на PHP я использую набор инструментов denwer. Как установить и пользоваться денвером, я надеюсь вы знаете.
Читать дальше →

Начинаем изучать YII!

PHP
Начинаем изучать YII!

Уже, примерно, около года я присматриваюсь к фреймворкам, но пока до них руки не доходили, то одолевала лень, то было много заказов и для изучения чего-то нового не хватало времени. Но теперь, я все таки решил попробовать изучить один из фреймверков — YII. Почему я выбрал YII для изучения, а не Zend, CI или что-нибудь еще? Здесь все просто, на форумах больше всего хвалили его (по крайней мере на тех, где я спрашивал) и посоветовали несколько приличных сайтов с примерами и русской документацией.
Читать дальше →

Yii логирование всего и вся...

PHP
После генерации каркаса нового приложения в Yii, на время разработки рекомендую включить полное логирование всего и вся в файл. Только не поражайтесь количеству записей, генерируемых на один запрос! В конфигурации логгера, для CFileLogRoute параметр «levels» необходимо оставить пустым (по умолчанию там 'error, warning'). У меня это как-то вот так выглядит:
'log' => array(
            'class'  => 'CLogRouter',
            'routes' => array(
                array(
                    'class'  => 'CFileLogRoute',
                    'levels' => '', // ВОТ ТУТ ПУСТАЯ СТРОКА!!!
                ),               
                array(
                    'class'        => 'ext.db_profiler.DbProfileLogRoute',
                    'countLimit'   => 1, // How many times the same query should be executed to be considered inefficient
                    'slowQueryMin' => 0.01, // Minimum time for the query to be slow
                ),

            ),
        ),


При переносе на продашкн (у вас конфиги все еще не разделены!?) рекомендуется вернуть 'error, warning'.

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

PHP

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


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

Полное руководство по Yii:Кэширование

PHP


Кэширование страниц


Кэширование страниц — это кэширование всего содержимого страницы. Кэширование страниц может встречаться в различных местах. Например, выбрав соответствующий странице заголовок, браузер пользователя может кэшировать просматриваемую страницу на некоторое время. Веб-приложение также может само хранить содержимое страницы в кэше.
Читать дальше →