[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Diactoros how to use
McLotos
Ребят, всем привет. Кто-нибудь юзал Zend\Diactoros?
Подскажите, вот у меня страница должна вернуть HTML, я использую HtmlResponse из пакета Zend\Diactoros, строю, выставляю заголовки, ставлю статусы, заполняю тело, а как теперь отдать его в браузер? Т.е. по идее должен вернуться html-код с правильными http-заголовками. Покажите у кого есть пример, что-то я ничего адекватного не нашел =(

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
SlavaFr
Не разу не работал с этим, но исходя из логики должно работать в контроллере типа : return $response;


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
twin
Я с диактором не работал, но смотрел, когда свой PSR-7 писал.

По идее должно быть что то наподобие этого для заголовков:
    protected function sendHeaders($response)
{
if (!headers_sent()) {
header(sprintf(
'HTTP/%s %s %s',
$response->getProtocolVersion(),
$response->getStatusCode(),
$response->getReasonPhrase()
));


foreach ($response->getHeaders() as $name => $values) {
foreach ($values as $value) {
header(sprintf('%s: %s', $name, $value), false);
}
}
}
}


и вот такого для тела:
    protected function sendBody($response)
{
$body = $response->getBody();

if ($body->isSeekable()) {
$body->rewind();
}

$chunkSize = 4096;
$amountToRead = $response->getHeaderLine('Content-Length');

while ($amountToRead > 0 && !$body->eof()) {
$data = $body->read(min($chunkSize, $amountToRead));
echo $data;

$amountToRead -= strlen($data);

if (connection_status() != CONNECTION_NORMAL) {
break;
}
}
}


Если ты responce собрал правильно, то должно сработать, на то и PSR-7.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.