![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
![user posted image](http://irbis-team.com/img/baner.png)
Цитата (Ron @ 4.04.2017 - 18:20) |
только нужно на помарочки проверить, натолкнулся на Requect. |
Цитата (twin @ 4.04.2017 - 16:14) |
Вот, готово. PSR-7 на пальцах. ![]() Там про потоки мало чего, но есть ссылка внизу на источник. |
Цитата (Гость_chee @ 5.04.2017 - 15:40) |
Сложно воспринимается разбор представленных примеров (а это ещё при том, что я секу фишку), возможно из-за абстрактность самих примеров. |
Цитата (Гость_chee @ 5.04.2017 - 15:40) |
Очень сильно чувствуется, что автору статейки понравился этот паттерн (я про мидллвары). Минусы вообще не освещаны. |
private $_var;
Цитата (twin @ 4.04.2017 - 16:14) |
Вот, готово. PSR-7 на пальцах. :) Там про потоки мало чего, но есть ссылка внизу на источник. |
<?php
// Класс Request, принимает эстафету.
// Если это не инициатор (как CURL), то очень редко
// изменяет данные, только получает извне.
class Request
{
// Представим себе, что эта двойка получена классом из $_POST
public $data = 2;
}
// Класс Response (тут будет храниться результат действа
// мидлвара по формированию ответа браузеру)
class Response
{
public $data;
}
$request = new Request;
$response = new Response;
// Мидлвар. Принимает аргументами эти два объекта
// Внутри можно делать что угодно
function calculatorMidllware($request, $response)
{
$data = $request->data;// Получаем данные из Request
$data += 2; // Производим наши вычисления
$response->data = $data; // Складываем результат в Responce
return $response; // Возвращаем Responce
}
// Получаем ответ из мидлвара
$response = calculatorMidllware($request, $response);
// Отправляем в следующий мидлвар (здесь не реализован)
$response = someMidllware($request, $response);