[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PSR-7
Страницы: 1, 2, 3, 4, 5, 6, 7
twin
Всё, вникая в код, понял, что chee вoбщем то прав. Меня запутал O'Phinney со своими мечтами. smile.gif Нужно смотреть вовсе не в сторону унификации. С потоками действительно работать прикольно. Это и асинхронность, и экономия памяти. А уж как именно их обработать, дело второе. Ну вот и спасибо надо сказать авторам, наверное многих наведут на путь истиный. Так что да, посыпаю голову пеплом. За этим подходом будущее, прав chee. smile.gif



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

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

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

user posted image
Ron
twin, можно немного поконкретнее, какие там потоки? Про ReactPHP что ли?

twin
Ron
Сейчас я пишу статью про всё это. smile.gif

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

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

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

user posted image
twin
Вот, готово. PSR-7 на пальцах. smile.gif
Там про потоки мало чего, но есть ссылка внизу на источник.

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

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

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

user posted image
Ron
twin, ну ОК, нет, не то. =) Статья хорошая, годная, только нужно на помарочки проверить, натолкнулся на Requect. Собственно говоря, идея проста, как тапочек, просто взгляд на те же самые ООП-шные интерфейсы чуточку под другим углом, вернее даже не на них, а на профит в более масштабном смысле.

Если еще конкретнее, то нечто напоминающее паттерн декоратор, если говорить о PSR-15(?). А декоратор, в свою очередь, набор последовательно собранных проксей. Прокся - частный случай адаптера, что такое объект адаптер - каждый идиот знает. biggrin.gif
twin
Цитата (Ron @ 4.04.2017 - 18:20)
только нужно на помарочки проверить, натолкнулся на Requect.
Ага, пасиб, исправил. smile.gif


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

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

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

user posted image
bestxp
Цитата (twin @ 4.04.2017 - 16:14)
Вот, готово. PSR-7 на пальцах. smile.gif
Там про потоки мало чего, но есть ссылка внизу на источник.

статья годная

Переход в принцпе не проблема если написать адаптеры для легаси кода, и пометить как deprecated и кидать нотисы типа E_DEPRECATED и как переходить на это, то разработчики плагинов в ленивых CMS достаточно быстро это сделают, а если объявить еще новый мажорный релиз где депрекейт уйдет, а обратная совместимость останется через новое внутреннее API тогда все станет проще, но это дело времени
Гость_chee
Почитал статейку.

1. Сложно воспринимается разбор представленных примеров (а это ещё при том, что я секу фишку), возможно из-за абстрактность самих примеров.

2. Очень сильно чувствуется, что автору статейки понравился этот паттерн (я про мидллвары). Минусы вообще не освещаны.
twin
Цитата (Гость_chee @ 5.04.2017 - 15:40)
Сложно воспринимается разбор представленных примеров (а это ещё при том, что я секу фишку), возможно из-за абстрактность самих примеров.
Каких именно примеров, кода? Я просто старался не усложнять, блог для новичков вобщем то. Или что не так?

Цитата (Гость_chee @ 5.04.2017 - 15:40)
Очень сильно чувствуется, что автору статейки понравился этот паттерн (я про мидллвары). Минусы вообще не освещаны.
Да не мидлвары мне понравились. Я про них давно знаю. Вон в ларавеле их полно. Я проникся PSR-7 в плане регламентации мидлваров. Я сначала на самом деле не так все понял. Santehnick прав оказался. Еще и Arh'а запутал. Я посчитал, что это просто обертка над RFC. А в свете унификации софта таким мягким способом даже и не подумал. Только когда стал разбирать код, осенило.

По этому я сильно на мидлварах не акцентировался. Это совсем другая тема.

Ну и вы натолкнули на путь истиный. За что премного благодарен. smile.gif

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

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

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

user posted image
Игорь_Vasinsky
user posted image

и далее по тексту

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Угу, спасибо.

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

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

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

user posted image
VeRTak
Не читал всю тему, на сколько мне известно что PSR7 запрещает использования подцеркивания у private и protected.

например


private $_var;


Лично я привык использовать это дело еще начиная с Codeignater2
Arh
VeRTak
Ты про psr2 говоришь

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh
Цитата (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);


А как подменить $request?

Мы можем получать ответ от предыдущего мидлвара, как то его менять, или создавать свой, или никак не реагировать, тут всё ок, ничего нового.
Но если надо из мидлвара получить ответ от другой цепочки мидлваров, как подменить запрос на фейковый, ведь мы можем вернуть только response, как следующему обработчику передать свой request?

Уже 5 лет юзаю мидлвары и всегда какое то чувство неполноценности.
По началу между ними ничего не передавал, тогда всё на статике писал и обмен данными был через статические свойства.
Чуть позже начал передавать ответ между ними, немного поменялась идея и логика, думал передавать и возвращать один объект http, в котором и response и request, но потом начал натыкаться на psr-7, думал они что то решили как то, а в итоге ничего нового, всё та же древняя идея, всё те же древние проблемы в новой обёртке. Всё новое это хорошо забытое старое)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

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