$json = defined('JSON_UNESCAPED_UNICODE')
? json_encode($data, JSON_UNESCAPED_UNICODE)
: json_encode($data);
Посоветуйте пожалуйста более красивые решения.Рассмотрите возможность использования статических шаблонов (исполняемого кода не содержащих вовсе). После первой загрузки шаблона шаблонизатором можно закэшировать содержимое шаблона и при последующих его загрузках отдавать его напрямую из кэша. Примерно так:
class SomeTemplater
{
protected $_templates = array();
public function loadTemplate($path) {
if (array_key_exists($path, $this->_templates)) {
$code = $this->_templates[$path];
}
else {
$code = file_exists($path)
? file_get_contents($path)
: false;
$this->_templates[$path] = $code;
}
return $code;
}
}
line-height) равной удвоенной высоте строки (line-height), а блоку — overflow: hidden. Многоточия, конечно, не будет — в настоящее время CSS text-overflow: ellipsis).display: inline-block, и высота каждой «строки» будет автоматически подстраиваться под высоту наиболее высокого блока. json_encode() нет параметра, позволяющего отключить такое кодирование, если кодировка страницы и JSON-данных заведомо совпадает.