Мне нужно преобразовать некоторый код, сделанный кем-то другим, для работы в моей модели MVC
Это использование некоторых функций, таких как EOD, которые я не понимаю. Это все еще работает в классе?
Первично, мой вопрос сосредоточен на выводе json.
Старый код не использует функцию php json_encode, но выводит ее напрямую, как это
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
<?php echo $items;?>
]
}
<?php
Я бы сделал это так, но я должен быть уверен, что это правильно для части предметов
header('Content-type: application/json');
$output = array("username"=> isset( $_SESSION['username'] ) ? $_SESSION['username'] : "?",
"items"=>$items
);
$this->content = json_encode($output);
Это некоторая предыстория того, как создаются $ items.
Элемент хранится так:
$_SESSION['chatHistory'][$_POST['to']] .= <<<EOD
{
"s": "1",
"f": "{$to}",
"m": "{$messagesan}"
},
EOD;
и она помещается в переменную $ items следующим образом
$items = '';
if ( !empty($_SESSION['openChatBoxes'] ) ) {
foreach ( $_SESSION['openChatBoxes'] as $chatbox => $void ) {
$items .= $this->chatBoxSession($chatbox);
}
}
//The chatBoxSession() function takes an item from the $_SESSION['chatHistory'] array and returns it.
Надеюсь, это было достаточно ясно?
Руководство php предупреждает, что в некоторых случаях вы не получаете вывод массива, вместо этого вы получаете объект. Итак, с синтаксисом EOD я не совсем уверен.
Это могло бы сэкономить мне время, если бы я знал, что некоторые вещи делают то, что предполагали, и дают правильный вывод.
спасибо, Ричард