htmlspecialchars () ожидает, что параметр 1 будет строкой, объект выдал ошибку в COdeIgniter - PullRequest
0 голосов
/ 26 марта 2012

При назначении типа приведенного массива для сеанса codeigniter я получаю эту ошибку:

A PHP Error was encountered 
Severity: Warning

Message: htmlspecialchars() expects parameter 1 to be string, object given

Filename: libraries/Profiler.php

Line Number: 514

Код, о котором идет речь:

$guest = array('email' => 'empty', 'username' => 'Guest');
$this->session->set_userdata(array('current_user' => (object)$guest));

1 Ответ

4 голосов
/ 26 марта 2012

Профилировщик CodeIgniter прерывается, как только вы сохраняете в нем все строки, не являющиеся массивами:

foreach ($this->CI->session->all_userdata() as $key => $val)
{
    if (is_array($val))
    {
        $val = print_r($val, TRUE);
    }

    $output .= "<...>".htmlspecialchars($val)."<...>\n";
}

(из CI_Profiler::_compile_session_data())

Это выглядит довольно глупо, поскольку print_r() отлично работает с объектами - так что is_array($val) || is_object($val) было бы более подходящим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...