DbHelp.ru
Маленький Yii блог
Комментарии
Slavik: Нигде не вижу ответа на такой вопрос Как сделать что-б...
Denis: Полностью рабочий код для Yii 1.1.15 можете найти на https://gith...
DeD: Запрацювало тільки після заміни if (isset($_GET['root'])) на if...
Denis: Если что- можете поюзать полный код уроков: https://github.com/d...
Mj: Мдааа так было интересно, ех... Но лучше поздно чем нико...



Сервер Ultima Online - Forest Wars (от создателя данного блога)

Логирование запросов в FireBug

Рубрика: Перевод Cookbook

Оцените эту статью:

Рейтинг: 0.00 (0)
25 Дек. 2009
Опубликовать в Twitter Написать в Facebook Опубликовать в своем блоге livejournal.com

Yii Framework Blog img http://dbhelp.rucookbook В процессе разработки приложения, очень часто требуется следить за запросами которые формирует фреймворк.В этом нам поможет FireBug, незаменимый инструмент при web разработке (среди юзеров firefox-a естественно)

---

Я обнаружил, что это было достаточно сложно для версии 1.0, но начиная с 1.1 — я рад сообщить, что всё стало намного легче. Хотя новый CWebLogRoute , по умолчанию выводит информацию после тега «/html», иногда портит общую разметку всей страницы в целом. Сегодня мы разберем как логировать данные прямо в консоль FireBug!

Лично мне удобно выполнять это через index.php файл, т.к. я могу легко использовать логирование для заданных доменов.

Пример index.php файла:

<?php

// change the following paths if necessary
$yii=dirname(dirname(__FILE__)).'/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';

// Логирование работает для localhost-а
if ($_SERVER['HTTP_HOST'] == 'localhost') {
  defined('YII_DEBUG') or define('YII_DEBUG',true);
  $config['components']['log']['routes'][] = array(
    'class'=>'CWebLogRoute',
    'categories'=>'system.db.CDbCommand',
    'showInFireBug'=>true,
  );
  $config['components']['db']['enableProfiling'] = true;
  $config['components']['db']['enableParamLogging'] = true;
}

require_once($yii);
Yii::createWebApplication($config)->run();

Прим. Переводчика: Если я хочу использовать логирование запросов не только для конкретного домена, я всё делаю сразу в конфиге.

В конфиге:

    'preload'=>array('log'),
    'components'=>array(
        ...
        'log'=>array(
            'class'=>'CLogRouter',
            'routes'=>array(
                array(
                    'class'=>'CWebLogRoute',
                    'levels'=>'trace',
                    'showInFireBug'=>true,
                ),
            ),
        ),
        'db'=>array(
            ...
            'enableProfiling'=>true,
        ),
    ),

Теперь запустите ваш сайт вместе с включенным FireBug-ом и перейдите во вкладку «Консоль»!



Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
Другие yii статьи:

  1. Я очень рад сообщить о выходе новой версии Yii Framework 1.1.7. В этой сборке было включено более 90 новых возможностей, ... "Yii PHP framework 1.1.7 is released"

  2. ... "Art"

  3. Долгожданный релиз 1.1.1 по праву можно назвать service pack к 1.1.0: исправлено более двадцати ошибок. Добавлено более тридцати улучшений и ... "Yii PHP framework 1.1.1 и 1.0.12"

[adm] zolter

Было сказано: Пятница, 25 Декабрь 2009

Со статьёй по биллингу немного не успеваю, поэтому на закуску пока перевод кидаю.

gencha

Было сказано: Пятница, 25 Декабрь 2009

За статью спасибо! :) А биллинг ждем. Очень интересует backend, надеюсь это будет не очредной а-ля Yii blog! ;)

[guest] Bethrezen

Было сказано: Пятница, 25 Декабрь 2009

В индекс это пихали потому что фаербаг нужен только в локалхосте

[adm] zolter

Было сказано: Пятница, 25 Декабрь 2009

Ну это понятно) Но можно использовать просто два конфига как это делают. 1 для разработки, 2й для рабочего приложения. Поэтому не вижу смысл засорять index

SpiLLeR

Было сказано: Вторник, 29 Декабрь 2009

Тоже использую два конфига и устанавливаю YII_DEBUG в нужное положение в зависимости от того локально сайт лежит или нет.

[guest] snnwolf

Было сказано: Пятница, 01 Январь 2010

Кстати, эта штука работает и в Хром...

[guest] zolter

Было сказано: Суббота, 02 Январь 2010

Да? Супер

[guest] Алексей

Было сказано: Среда, 29 Июнь 2011

Можно делать так и не разводить мусор... Теперь когда нужен лог, делаем запрос http://example.com/site/index?fb и смотрим в консоль

'enabled' => YII_DEBUG,
'showInFireBug' => isset($_GET['fb']),

[guest] Алексей

Было сказано: Среда, 29 Июнь 2011

Забыл добавить похожий код для занесения запросов в лог...

'enableProfiling' => YII_DEBUG,
'enableParamLogging' => YII_DEBUG,

[guest] Гость

Было сказано: Понедельник, 12 Март 2012

Может я чего-то не понимаю, но $config является строкой, а не массивом, объявляется как:
$config=dirname(__FILE__).'/protected/config/main.php';

Поэтому код для index.php работать не будет - вывалится ошибка, что нельзя со строкой общаться как с массивом

Оставить комментарий


Код:
Имя: