Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zend Framework] 0.6.0 getParam(), Migracja ZF 0.2.0 --> ZF 0.6.0
porowski
post 23.12.2006, 13:11:18
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.07.2004
Skąd: Łódź

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


Witam wszystkich serdecznie!

Googlam, szukam, testuje... i sadsmiley02.gif

Sprawa wygląda tak, że chce zrobić migracje z Zend Framework 0.2.0 do Zend Framework 0.6.0
elementy, które wg dokumentacji trzeba było zmieić to zostały zmienione no i wszystko fajnie działa! niestety do momentu w którym w url przekazuje opcjonalne parametry np: http://gadzi.devestel.com/pl/queries/show/id/1

w ZF 0.2.0 aby pobrać ID poprostu w funkcji akcji dawałem:
  1. <?php
  2. $this->_getParam( 'id' );
  3. ?>


natomiast w ZF 0.6.0 wyskakuje mi error:
Fatal error: Call to a member function getParam() on a non-object in /home/apache/htdocs/gadzi/lib/Zend/Zend/Controller/Action.php on line 302

szperałem w tych plikach ZF aby zlokalizować conieco, niestety bezskutecznie... sad.gif

wg dokumentacji ZF niby to się nie zmieniło...

Pozdrawiam

P.S.
Życzę wesołych świąt oraz "happy php'ing in 2007"
Go to the top of the page
+Quote Post
Sabistik
post 23.12.2006, 19:56:26
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Zobacz:
  1. <?php
  2. echo Zend_Controller_Action::_getParam('id');
  3. ?>
Go to the top of the page
+Quote Post
ARJ
post 23.12.2006, 20:27:48
Post #3





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


dziwne. u mnie wywołanie
  1. <?php
  2. $this->_getParam('code');
  3. ?>
dziala normalnie. gdzie to wywołujesz i jak? pokaż trochę więcej kodu jeżeli nie zadziała to co podał Sabistik.

Ten post edytował ARJ 23.12.2006, 20:28:06


--------------------
Warsztat: Windows 7 Pro 64bit | Apache 2.2 | PHP 5.2 | MySQL 5.0 | PHPmyadmin 2.6.4
Go to the top of the page
+Quote Post
cyphelf
post 24.12.2006, 00:13:29
Post #4





Grupa: Zarejestrowani
Postów: 68
Pomógł: 1
Dołączył: 27.03.2006

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


Możliwe, że nie zamieniłeś konstruktora klasy kontrolera na metodę init(). W 0.6.0 konstuktor przyjmuje w parametrach obiekt żądania, odpowiedzi i argumenty wywołania. Możliwe, że masz nadpisany konstruktor, który u Ciebie nie przyjmuje i nie ustawia tych obiektów. Spróbuj zamienić __construct() na metodę init().

Jeśli z czymś będziesz miał jeszcze kłopot to przejrzyj kilka tipsów u mnie na blogu we wpisie na temat migracji zend framework z wersji 0.2.0 do 0.6.0

W manualu ZF jest opis migracji, ale jedynie dla klas kontrolera.


--------------------
lorem ipsum : polska społeczność zend framework
Go to the top of the page
+Quote Post
porowski
post 24.12.2006, 23:55:22
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.07.2004
Skąd: Łódź

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


@cyphelf

właśnie to było problemem smile.gif

narazie zrobiłem nieładnie:

  1. <?php
  2. public function __construct( $request, $response, $invokeArgs )
  3. {
  4. parent::__construct( $request, $response, $invokeArgs );
  5. }
  6. ?>


nie wiedząc, że jest init()

dzięki za helpa

pozdrawiam smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.05.2024 - 08:34