DbHelp.ru
Маленький Yii блог
Комментарии
Гость: Добрый день. Скиньте пожалуйста исходники на почту kirlai...
Caravus: Спасибо тебе, добрый человек.
Гость: В статье было написано следующее: Поэтому обычно для к...
Гость: Епта gi gi
vinaletna: Строка ob_clean(); в файле CCaptchaAction.php, методах renderImageGD и renderIm...



Сервер 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 через htaccess"

  2. Так получилось что xampp на компе умер. Куча файлов удалилась и только благодаря рестору файлов получилось получить папку "data" ... "Чем открыть файлы frm/MYD/MYI"

  3. Эта статья устарела т.к. была написана для yii версии 1.0.х; Если вы используете более новую версию - у вас могут ... "Урок 8 : Подключаем дизайн"

[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 работать не будет - вывалится ошибка, что нельзя со строкой общаться как с массивом

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


Код:
Имя: