Попытка вывести объект или массив в CakeStack Overflow

Я пытаюсь сбросить объект или массив в отладку во время кодирования на CakePHP. Я пробовал различные команды, и я честно потерял отслеживание различных результатов. Я определенно видел вывод, указывающий тип объекта (CakeEmail), и я видел массив. К сожалению, я не смог воссоздать ни один из них.

Вот код, который я использую, с некоторыми комментариями, чтобы указать команды, которые определенно потерпели неудачу.

public function _sendEmail($template, $replace_content, $to, $from = null)
{
App::uses('CakeEmail', 'Network/Email');
$this->Email = new CakeEmail();

//Preparation of variables to insert into Email
$this->Email->to($to);
$this->Email->subject($subject);
$this->Email->emailFormat('both');

//Debugger::log($this->Email); //Worked - Shows certain output in file
//Debugger::dump($this->Email); //Partial - Did not show any output in file, but did not fail to run.
//Debugger::trace($this->Email); //Partial - Did not show any output in file, but did not fail to run.
//Debugger::debug($this->Email); //Failed - function did NOT continue

//dump($this->Email); //FAILED
//trace($this->Email); //FAILED
//debug($this->Email); //Partial - Did not show any output in file, but did not fail to run.

//Debugger::log(">>log: ".$this->Email); //unable to show variable. Only heading string was output to file
//Debugger::dump(">>dump: ".$this->Email); //Partial - Did not show any output in file, but did not fail to run.
//Debugger::trace(">>trace: ".$this->Email); //NOT TESTED

//Debugger::log(Debugger::dump($this->Email)); //Worked - Shows certain output in file - dump returns NULL
//Debugger::log(">>log: headers: ".Debugger::dump($this->Email->getHeaders())); //Worked - Shows certain output in file - dump returns NULL
//Debugger::log(">>log: headers: ".Debugger::dump($Email->getHeaders())); //FAILED - Undefined variable

include 'dkim.php';
$newHeader = AddDKIM($from_email, $to, $subject, $content);

if (!empty($newHeader)) {
Debugger::log ("newHeader is: $newHeader\n;Adding it to email.");
$emailHeaders = $this->Email->getHeaders();
Debugger::log ($emailHeaders);
debug($emailHeaders);
//$emailHeaders = $newHeader.emailHeaders;
//Debugger::log($this->Email->getHeaders());
debug ($emailHeaders);
}
else
Debugger::log ("No new Header to Add.");

$this->Email->send($content);
}

0

Решение

Я не совсем знаком с CakePHP, но вы можете использовать print_r ($ variable, true), который возвращает дамп переменной в строке. Затем вы можете использовать это в своей функции журнала.

Debugger::log(">>log: ".print_r($this->Email, true));

0

Другие решения

Cake имеет удобную функцию print_r (), просто перейдите:

pr($var_to_debug);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector