Несколько раз на форумах и в других местах всплывали вопросы вроде «что можно удалить из Yii». Лично я, конечно, считаю, что удалять оттуда ничего не надо: вряд-ли на сервере нет десяти мегабайт дискового пространства, но всё-же покажу, как можно сократить размер Yii.
Все заметки с тегом «Yii»
-
Удаление «ненужных» файлов из Yii
5 декабря 2010
-
Миграции в Yii
30 ноября 2010
Вот и готова ожидаемая многими возможность — миграции.
Миграции очень важны для командной разработки, когда постоянно меняется не только код, но и структура базы данных. Чтобы каждый не применял руками изменения остальных членов команды и существуют миграции.
-
chive
30 ноября 2010
Неплохая альтернатива PHPMyAdmin, написанная на Yii с хорошим набором возможностей. Выгодно отличается от остальных подсветкой синтаксиса в редакторе, ну и, конечно, своим кодом.
В последней версии добавлен экспорт в CSV, работа с
blob
и улучшена производительность.Если есть время и желание, проекту можно помочь с переводом на Русский язык (осталось перевести где-то 35% строк).
-
WebConf Riga 2010, впечатления
26 ноября 2010
Прошла конференция WebConf Riga 2010, которую я открывал докладом «PHP фреймворк Yii: основы, техники и немного инсайда».
Слайды и видео доклада можно найти на сайте конфреренции.
Я же поделюсь впечатлениями.
-
Yii, построитель запроса
17 ноября 2010
Сегодня в SVN Yii появилась ещё одна интересная возможность. Построитель запросов. Тем, кто работал с CodeIgniter, он должен быть хорошо знаком (там он почему-то называется ActiveRecord).
Итак, теперь, если вы не хотите использовать ActiveRecord, запросы можно строить динамически:
$user = Yii::app()->db->createCommand() ->select('username, password') ->from('tbl_user') ->where('id=:id', array(':id'=>1)) ->queryRow();
-
Yii 1.1.5
15 ноября 2010
Вышел релиз Yii 1.1.5, который привнёс внушительное количество исправлений и доработок.
Самое вкусное:
- CTypedMap.
- В профайлере теперь видно параметры SQL-запросов.
- Массивы как параметры для действия контроллера.
- Улучшения в консольных командах Yii.
- CClientScript теперь можно вызывать цепочкой:
Yii::app()->clientScript->registerCoreScript(…)->registerScriptFile(…)->registerStyle(…);
- Добавлен
CDbCriteria::index
, при помощи которого можно получить результат запроса массивом с значениями указанного поля в качестве ключей. - Публикация ресурсов через симлинки (CAssetManager::linkAssets).
- Поддержка PhpUnit 3.5.0RC1 и выше.
- CActiveDataProvider теперь поддерживает составные ключи.
yiic.bat
под Windows теперь корректно работает, если путь к PHP содержит пробелы.- Поддержка автозагрузки классов PHP5.3 из пространств имён.
Поддержка темизации виджетов, выводящих представления через метод
render
.- Инструкции по обновлению.
- Пробуем и обновляемся
-
Поиск с дополнением по API Yii в адресной строке Opera
14 ноября 2010
- Идём на http://www.yiiframework.com/doc/api/.
- Ставим курсор в поисковое поле в левой колонке. В контекстном меню выбираем
create search
. - В поле
keyword
вводимyii
и сохраняем. - Закрываем Opera.
- Идём в папку профиля Opera.
- Открываем
search.ini
. - Находим нашу секцию по кейворду
yii
. Найдётся что-то вроде:
[Search Engine 24] UNIQUEID=76AA614D8305D94BB62572AB5A59C224 …
- Добавляем в самый конец секции следующее:
Suggest Protocol=JSON Suggest URL=http://www.yiiframework.com/api/suggest/?q={SearchTerm}&json=1
- Сохраняем.
Запускаем Opera и пробуем набрать
yii ca
в адресной строке. Opera должна подсказать возможные имена классов.- Рецепты для остальных браузеров
-
Yii: время выполнения и скушанная память
14 ноября 2010
Внизу страницы этого блога можно видеть время генерации страницы и скушанную память. В Yii вывести это можно так:
Отработало за <?=sprintf('%0.5f',Yii::getLogger()->getExecutionTime()) с. Скушано памяти: <?=round(memory_get_peak_usage()/(1024*1024),2)."MB"
-
Yii: массивы как параметры для действия контроллера
29 октября 2010
И ещё одна приятность, попавшая в SVN. Теперь можно передавать параметрам действий массивы.
class MyController extedns CController { // параметр объявлен как массив function actionArray(array $tests){ foreach($tests as $test){ echo $test; } } // параметр не объявлен как массив function actionScalar($test){ echo $test; } }
- Если в $_GET передан не массив, в
$test
будет только один элемент. - Если параметр не объявлен как массив, а передан массив, получим HTTP ошибку 400 (Bad request).
Напомню, что передать PHP массив через адресную строку можно так:
/my/array/?tests[]=0&tests[]=2&tests[]=4&tests[]=1
- Если в $_GET передан не массив, в
-
Улучшения в консольных командах Yii
29 октября 2010
Пару часов назад Qiang залил в SVN Yii улучшения для консольных команд.
Теперь можно так:
yiic CommandName ActionName --Option1=Value1 --Option2=Value2 ...
При этом опции передадутся именованными параметрами сответствующим методам-действиям команды.
Например для вот такой команды:
class SitemapCommand extends CConsoleCommand { public function actionIndex($type, $limit=5) { ... } public function actionInit() { ... } public function actionProcess(array $type) { ... } public function actionSelfdestruct($confirm=false) { ... } }
можно передать параметры так:
yiic sitemap index --limit=5 --type=News yiic sitemap index --type=News yiic sitemap --type=News yiic sitemap process --type=News --type=Post yiic sitemap selfdestruct --confirm
- Порядок параметров не важен.
- Параметры с значениями по умолчанию можно не указывать.
- Если указать параметр без значения, получим на входе
true
. - Если не указать действие, то будет вызвано действие
index
. - Если указать параметр более одного раза и действие принимает параметры типа
array
, получим в параметре массив.
Все улучшения обратно совместимы, так что существующие команды будут работать как раньше.