![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Znam trochę angielski, ale jakoś nie rozumiem tego fragmentu PSR-7. A ciekawi mnie on, bo zastanawiam się, czy powinno się implementować MessageInterface również, kiedy implementuje się RequestInterface. Wydaje mi się, że w tym fragmencie o tym jest. Proszę o wytłumaczenie tego fragmentu:
' Both Psr\Http\Message\RequestInterface and Psr\Http\Message\ResponseInterface extend Psr\Http\Message\MessageInterface. While Psr\Http\Message\MessageInterface MAY be implemented directly, implementors SHOULD implement Psr\Http\Message\RequestInterface and Psr\Http\Message\ResponseInterface. ' Z góry dziękuję |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak trochę wyrwane z kontekstu, jednak patrząc na cały tekst odnośnie tych interface'ów (http://www.php-fig.org/psr/psr-7/#1-1-messages) można to zinterpretować tak:
Można implementować bezpośrednio interface Psr\Http\Message\MessageInterface, jednak zaleca się implementację (osobno) Psr\Http\Message\RequestInterface i Psr\Http\Message\ResponseInterface. Jak się mylę, to mnie poprawcie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym, że ten fragment po przetłumaczeniu na polski jest wciąż niezrozumiały. Podszedłem do sprawy od drugiej strony. Skoro podawany przez FIG RequestInterface rozszerza MessageInterface, to nie powinno się stosować RequestInterface bez MessageInterface.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Tak po mojemu ten tekst oznacza tyle, co "nie powinno się tworzyć klas bezpośrednio implementujących interfejsu MessageInterface".
-------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Skoro podawany przez FIG RequestInterface rozszerza MessageInterface, to nie powinno się stosować RequestInterface bez MessageInterface. Nie tyle "nie powinno się stosować", po prostu nie da się tego niezastosować ![]() Od początku: Masz 3 intarface'y: MessageInterface RequestInterface extends MessageInterface ResponseInterface extends MessageInterface Albo robisz 1 implementację MessageInterface i używasz jej dla zapytań i odpowiedzi, albo robisz 2 implementacje (jedna RequestInterface i jedna ResponseInterface) i implementacji RequestInterface używasz do przyjmowania zapytań, a implementacji ResponseInterface używasz do zwracania odpowiedzi. Edit: W końcu znalazłem: zend-diactoros Zwróć uwagę na klasy Request i Response - implementują odpowiednie interface'y i nigdzie nie ma bezpośredniej implementacji MessageInterface, ponieważ inteface'y Request i Response ją wymuszają. Ten post edytował lukaskolista 31.01.2016, 12:08:04 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście się nie da implementować RequestInterface z pominięciem MessageInterface. Pozostaje tylko pytanie o zakres przyzwolenia na implementowanie MessageInterafce takie, że implementowanie RequestInterface lub ResponseInterface zostaje pominięte.
Comandeer, zdaje się, nie widzi takiego przyzwolenia. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przecież przetłumaczyłem Ci treść dokumentacji PSR-7, jest tam wyraźnie napisane, że można implementować bezpośrednio MessageInterface, ale się nie powinno i lepiej implementować osobno RequestInterface i ResponseInterface.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale nie trzeba tak personalnie: ja, ty. Przecież mówimy o zagadnieniach, które samodzielnie funkcjonują bez nas :-)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie było nic personalnego w mojej wypowiedzi (a jak tak, to przepraszam), po prostu odniosłem się do Twojego pytania i mojego pierwszego postu w tym wątku.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@trzczy czy "nie powinno" oznacza "nie wolno"?
-------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
to oznacza tyle, ze można wstawić tam coś co implementuje MessageInterface, ale powinniśmy użyć RequestInterface, lub ResponseInterface. Chodzi o to, że obiekt ten nie może nie implementować MessageInterface
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:09 |