Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana]KOHANA REQUEST RESPONS, why ????
killzone
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.04.2010

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


Takie proste pytanie (IMG:style_emoticons/default/smile.gif)

Dlaczego taki zapis działa ?


  1. $request = Request::factory('item/get_box_profile');
  2. $request->execute();
  3. $this->template->log_in = $request->response;


A taki nie (IMG:style_emoticons/default/questionmark.gif)

  1.  
  2. $request = Request::factory('item/get_box_profile')->execute()->respons;
  3. $this->template->log_in = $request;



Kiego wafla chodzi ? I czego w klasie kohana Request i Respons nie ma ani takiej zmiennej jak respons ani takiej metody (IMG:style_emoticons/default/questionmark.gif)

Jest to dla mnie zastanawiające (IMG:style_emoticons/default/smile.gif)

Ten post edytował killzone 11.12.2013, 14:44:46
Go to the top of the page
+Quote Post
freemp3
post
Post #2





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

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


Drugi wariant nie działa zapewne dlatego, że metoda execute nie zwraca obiektu request.

Co do drugiego pytania to poczytaj o metodach magicznych w php. Szczególnie o metodach __get i __set.
Go to the top of the page
+Quote Post
killzone
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.04.2010

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


Rozumiem metody magiczne sprawdze je dzięki.
Tyle ze request mamy wyłączenie
public function __toString()
a w response nie ma żadnej metody magicznej (IMG:style_emoticons/default/smile.gif) więcj nie wiem jak . Może jakis krok pominąłem podczas zwracania obiektów??
Ale ostatecznie mam wrażenie że w tym momencie

  1. $request->response


$request jest dalej obiektem klasy request (IMG:style_emoticons/default/smile.gif) więc nie czaje

Ten post edytował killzone 11.12.2013, 15:16:42
Go to the top of the page
+Quote Post
freemp3
post
Post #4





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

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


Sprawdź dokładnie co robi ta klasa, być może dziedziczy z innej, która posiada taką funkcjonalność. Możliwe, że klasa ustawia sobie dynamicznie parametry, w tedy metoda __get jest pomijana.

Cytat
$request jest dalej obiektem klasy request więc nie czaje

Owszem ta zmienna cały czas jest obiektem request, ale metoda execute nie zwraca obiektu request więc nie możesz bezpośrednio na tym co zwraca wykonać następnej operacji, tylko musisz to zrobić na zmiennej. Gdyby metoda execute zwracała obiekt czyli return $this, wtedy mógłbyś bez problemy wykonać w ten sposób następną operację.
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 - 09:41