Fragment PSR-7, Co to właściwie oznacza... |
Fragment PSR-7, Co to właściwie oznacza... |
30.01.2016, 21:15:34
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ę |
|
|
30.01.2016, 21:39:31
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. |
|
|
31.01.2016, 11:19:41
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.
|
|
|
31.01.2016, 11:32:06
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★
|
|
|
31.01.2016, 11:36:04
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 |
|
|
31.01.2016, 12:22:54
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. |
|
|
31.01.2016, 12:38:58
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.
|
|
|
31.01.2016, 12:59:41
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 :-)
|
|
|
31.01.2016, 13:08:32
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.
|
|
|
31.01.2016, 14:58:05
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★
|
|
|
31.01.2016, 15:44:14
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
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.09.2024 - 21:07 |