понедельник, 29 июля 2013 г.

yii Как проверить маршрут

Если нужно проверить существование контроллера по определенному маршруту, можно конечно руками и перебрать все правила маршрутизации, но на мой взгляд проще создать новый CHttpRequest.

$_SERVER['HTTP_X_REWRITE_URL'] = $newUrl; //стандартных методов для присвоения урла в CHttpRequest не нашел, по этому сделал небольшой подлог, после всех манипуляций, значение можно будет восстановить.

$route = Yii::app()->urlManager->parseUrl(new CHttpRequest);
$controller=app()->createController($route);

if($controller)
{
    //если контроллер существует, можно, например, сделать редирект
    $this->redirect(app()->createUrl($newUrl));
}
else
{
    //если, нет, то что ни будь другое
}

воскресенье, 28 июля 2013 г.

yii Включение логирования запросов

Модели это хорошо, но посмотреть, какие запросы строит yii тоже иногда полезно =)

Для того, что бы включить логирование запросов в yii, надо в main.php прописать следующие настройки:

...
'preload'=>array('log'),
...

'db'=>array(
...
       // включаем профайлер
        'enableProfiling'=>true,


       // показываем значения параметров
        'enableParamLogging' => true,
...

),
...
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CProfileLogRoute',
'levels'=>'profile',
'enabled'=>true,
),
),

),

среда, 24 июля 2013 г.

git Поиск коммита по названию(комментарию)

Если надо найти коммит по части строки в названии:

git log --grep="some_string"

Можно использовать более короткую запись

git log --pretty=format:"%s %H" | grep "some_string"

Просмотр коммита:

git show 1234567890 // 1234567890 - идентификатор коммита, конечно

среда, 17 июля 2013 г.

вторник, 2 июля 2013 г.