Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Co to takiego? "Request $request, Response $response"
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

Ostrzeżenie: (0%)
-----


Witam was chciałbym się dziś dowiedzieć co przesłać jako argumenty bo wywala mi błąd a nie bardzo wiem co tam wstawić. (IMG:style_emoticons/default/sad.gif)

Za pomoc dziękuje - sponsor postu - Ciemnogród SA (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/businesssmiley.png)

  1. public function __construct(Request $request, Response $response)
  2. {
  3. #...
  4. }
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz tam wstawic obiekt klasy Request oraz obiekt klasy Response
Go to the top of the page
+Quote Post
freemp3
post
Post #3





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


Dobrze by było, gdybyś podał treść błędu.
Co do pytania to są to typy zmiennych jakie mają być przekazane konstruktorowi. Czyli pierwszy argument powinien być obiektem typu Request, natomiast drugi obiektem typu Response. Mogą to być także obiekty, które dziedziczą po ww. klasach.
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mi to wygląda jak konstruktor kontrolera w ZEND - jeśli tak to obieków kontrolera raczej się nie inicjalizuje samemu a na ogół dispatch'uje poprzez front-kontroler (IMG:style_emoticons/default/wink.gif)

Gdzie i po co to masz chęć zastosować?
Go to the top of the page
+Quote Post
KotWButach
post
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

Ostrzeżenie: (0%)
-----


A czy jest takie miejsce gdzie można by dogłębnie poczytać o tworzeniu tego typu klas bo szukam w internecie i z truden cokolwiek mogę znaleźć (IMG:style_emoticons/default/sad.gif)

Sephirus: W sumie to projekt służący do nauki (IMG:style_emoticons/default/smile.gif)

Ten post edytował KotWButach 3.04.2014, 12:56:54
Go to the top of the page
+Quote Post
vonski
post
Post #6





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ale jakiego "typu" klas? To się nazywa Type Hinting: http://www.php.net/manual/en/language.oop5.typehinting.php. W "poważnych" językach to normalka, w PHP jest to "zubożone" tylko do klas i tablic - logiczne, ze względu na zastosowanie tego języka.
Go to the top of the page
+Quote Post
Sephirus
post
Post #7





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak jak koledzy pisali wcześniej - taki zabieg nazywa się potocznie "konkretyzacją argumentów/parametrów" metody/funkcji.

Polega to na tym, że już przy deklaracji podaje się "typ" obiektu jaki ma być podawany w parametrze. W twoim przypadku takim typem jest odpowiednio Request i Response.

Jeśli mamy taki kod to musimy przekazać w argumentach obiekt powstały na 3 sposoby:

1. Obiekt klasy podanej w argumencie - czyli jakiś obiekt klasy "Request" - jest to rzadko używane.

2. Obiekt klasy, która dziedziczy po klasie "Request" - może to być klasa którą sam napiszesz ale dziedziczy po tej klasie "Request"

3. Obiekt klasy, która implementuje interfejs "Request" - to najczęściej spotykane rozwiązanie.

Ogólnie taki kod stosuje się wówczas, gdy dana metoda/funkcja musi dostać w parametrze obiekt, który musi posiadać jakieś konkretne funkcjonalności. przykładowo w Twoim przykładzie wymaga obiektu klasy Request lub obiektu klasy która implementuje interfejs Request. Taki interfejs może mieć ustawione kilka metod, które muszą być w klasie zaimplementowane - bo będą one wykorzystywane w tej metodzie.

Jeżeli mało zrozumiałeś z tego co napisałem przejdź do kursu programowania obiektowego w PHP i dowiedz się czym jest dziedziczenie, interfejsy, klasy abstrakcyjne, konkretyzacja parametrów. (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
viking
post
Post #8





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Identyczny wątek dopiero co
Temat: PHP request response
Go to the top of the page
+Quote Post
KotWButach
post
Post #9





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

Ostrzeżenie: (0%)
-----


Sephirus wszystko jasno jasniutko opisałeś (IMG:style_emoticons/default/smile.gif) Po prostu nie wiedziałem o Hintingu (o którym wspomniał vonski) a ty dopełniłeś dzieła (IMG:style_emoticons/default/smile.gif)
Czyli reasumując zapobiega to władowaniu się przez przypadek zwykłej klasy do w tym przypadku konstruktora.

Teraz tylko musze zobaczyć co muszą zawierać takie klasy i będzie super (IMG:style_emoticons/default/smile.gif) Response i Request by były funkcjonalne i użyteczne dla systemu.

Ten post edytował KotWButach 3.04.2014, 15:41:13
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:28