Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/CommonTasks/Debugging ...
Это старая версия Manual/CommonTasks/Debugging за 2009-04-17 13:13:52..

Отладка


Отладка – неизбежная и необходимая часть любого цикла разработки. Пока что CakePHP не предлагает ни одного инструмента, который напрямую соединяется с IDE или редактором. CakePHP предоставляет несколько инструментов, помогающих при отладке и, показывающих что запущено «под капотом» вашего приложения.



Основная отладка


debug($var, $showHTML = false, $showFrom = true)

Функция debug() – глобально доступная функция, которая работает подобно PHP функции print_r(). Функция debug() позволяет вам показать содержимое переменной несколькими различными способами. Если вы хотите, чтобы данные были показаны в дружественном HTML виде, установите второй параметр в true. По умолчанию функция также выведет файл и номер строки из которой делается вызов.


Результат этой функции отображается только если переменная ядра debug установлена в значение большее нуля.



Использование класса Debugger


Для того, чтобы использовать отладчик, убедитесь, что Configure::read('debug') установлена в значение большее 0.


dump($var)

Функция dump выводит содержимое переменной. Она выведет все свойства и методы (если таковые имеются) для переданной переменной.


<?
    $foo 
= array(1,2,3);
    
    
Debugger::dump($foo);
    
    
//вывод
    
array(
        
1,
        
2,
        
3
    
)
    
    
//простой объект    
    
$car = new Car();
    
    
Debugger::dump($car);
    
    
//вывод
    
Car::
    
Car::colour 'red'
    
Car::make 'Toyota'
    
Car::model 'Camry'
    
Car::mileage '15000'
    
Car::acclerate()
    
Car::decelerate()
    
Car::stop()

?>


log($var, $level = 7)

Создает детализированный журнал событий трассировки в момент вызова функции. Метод log() выводит данные подобно тому, как это делает Debugger::dump(), но в debug.log вместо выходного буфера. Обратите внимание, что ваш каталог app/tmp (и его содержимое) должны быть доступны для записи, чтобы функция log() работала корректно.


trace($options)

Возвращает текущий стек трассировки. Каждая строка трассировки включает вызываемый метод, из какого файла и строки сделан вызов.


<?
//В PostsController::index()
    
prDebugger::trace() );
    
    
//вывод
    
PostsController::index() - APP/controllers/downloads_controller.phpline 48
    Dispatcher
::_invoke() - CORE/cake/dispatcher.phpline 265
    Dispatcher
::dispatch() - CORE/cake/dispatcher.phpline 237
    
[main] - APP/webroot/index.phpline 84
?>



 
Комментарии
недавно вышел специальный Cake PHP? плагин для <a href="http://www.codelobster.com">Codelobster PHP Edition</a>
В нем есть автокомлит и контекстный хелп для Cake PHP?.
87.238.159.106 (2010-06-07 15:23:01)
я им пользуюсь уже :)
178.44.128.125 (2011-09-19 05:49:14)
Добавить комментарий:

Файлов нет. [Показать файлы/форму]