Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF]Problem z Zend Framework
Mad_John
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 8.09.2006

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


Witam

Próbuje zrobić sobie CMSa na Zend Framework ale napotkałem mały problem. Nie wiem jak uruchomić kontroler z więcej niż jednym parametrem.

Mam stworzony kontroler Class i adres
cms.localhost/class/add_class
adres ten wywołuje formularz dodawania klasy, natomiast chciałbym w tym kontrolerze zrobić akcje
cms.localhost/class/delete_class/1 - gdzie 1 to numer id klasy usuwanej

W jaki sposob odczytać wszystkie te dane? W tym wypadku operuje na akcji deleteclassAction() ale jak odczytac parametr 1?

Poniżej przykład jak odczytuje dane dla adresu cms.localhost/object/1 (dowolny numer ID)

  1. <?php
  2. function __Call($id, $attributes)
  3. {
  4. $id = Zend_Filter::getDigits($id);
  5. echo $id; // pokaze 1
  6. }
  7. ?>
Go to the top of the page
+Quote Post
kwiateusz
post
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Przeniesiono: PHP -> Gotowe rozwiązania->Frameworki
Go to the top of the page
+Quote Post
Sabistik
post
Post #3


Administrator wortalu


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

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


Ustaw sobie odpowiednio trasę w routerze.
Go to the top of the page
+Quote Post
Mad_John
post
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 8.09.2006

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


Już męczę ten artykuł od godziny i nie potrafie skapować jak to działa. Ustawiam sobie trase

  1. <?php
  2. $router->addRoute('user', new Zend_Controller_Router_Route('user/:username'));
  3. ?>


w opisie jest napisane, że mogę sobie pobrać wartość username przez

Zend_Controller_Request::getParam
oraz
Zend_Controller_Action::_getParam

Nie udało mi się pobrać zmiennej username. Potrzebuję stworzyć sobie trasę podobną do tej

user/deleteuser/:user_id

Gdzie i w jaki sposób mam odczytać user_id? Dane te odczytuje sie w kontrolerze user, akcji deleteuser?
Go to the top of the page
+Quote Post
Sabistik
post
Post #5


Administrator wortalu


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

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


Jeśli chcesz mieć tak wszędzie:
  1. <?php
  2. $router->addRoute('user', new
  3. Zend_Controller_Router_Route(':controller/:action/:id'));
  4. ?>


Jeśli tylko w kontrolerze user i akcji deleteuser:
  1. <?php
  2. $router->addRoute('user', new 
  3. Zend_Controller_Router_Route('user/deleteuser/:id', array('controller'=>'user', 'action'=>'deleteuser')));
  4. ?>


Pobierasz tak jak napisałeś wyżej
Go to the top of the page
+Quote Post
Mad_John
post
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 8.09.2006

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


Dzieki wielkie smile.gif Udało mi się odczytać to ID tylko przez Zend_Controller_Action::_getParam, przez Zend_Controller_Request::getParam nie dało rady, próbowałem załadować tą klasę ale nie mogę jej znaleźć. Metodą loadclass też nie dało się załadować tej klasy (plik nie został znaleziony). W sumie mniejsza z tym, ważne, że dane udało się odczytać smile.gif Pozdrowienia i jeszcze raz dzięki.
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 Aktualny czas: 22.08.2025 - 01:09