DbHelp.ru
Маленький Yii блог
Комментарии
Гость: klass spasibo avtoru !!!
Гость: lk;
Гость: Как сделать что бы обновлялась статистика?
Гость: У вас код всегда 17.
Гость: Спасибо огромное!)



Сервер 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. Немного обсудив своё творение «Компонент Rss ленты v 1.0» на русском форуме я решил немного его переделать. Мною было ... "Компонент Rss ленты v2.0"

  2. Целью данной статьи, является написание проекта «Hello World» на фреймворке Yii, как наиболее простого проекта. Это позволит читателю освоить ... "Проект Hello World с использованием Yii"

  3. Знаете многое людей отталкивает (а многих притягивает) в Yii - это штука для генерации кода. Тем кто с таким ... "Первое приложение на Yii своими силами"

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

[guest] Гость

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

hello russian people

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


Код:
Имя: