Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Odwołanie się do innej akcji w tym samym kontrollerze
coolin1986
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 3.03.2008
Skąd: Białoruś

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


Chciał bym zrobić coś takiego:

  1. <?php
  2. public function saveAction(){
  3. $id = (int)$this->_request->getPost('id');
  4.  if($id){
  5. $this->editAction($id);
  6.  }
  7.  
  8. }
  9.  
  10. private function editAction($id){
  11. echo $id;
  12. }
  13. ?>


Wywala mi błędy. Jak prawidłowo odwołać się do innej metody w tym samym kontrollerze?

Ten post edytował coolin1986 4.08.2008, 12:51:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


public musi być dla dispatchera, który wywołując akcje zwyczajnie tworzy instancję kontrolera i wywołuję metodę z akcją. Jeżeli metoda jest prywatna dispatcher nie ma do niej dostepu.
  1. <?php
  2. editAction($id)
  3. ?>

bedzie działało póki wywołujesz ją wewnętrznie z innej metody w kontrolerze:
  1. <?php
  2. $this->editAction(1); //przykład
  3. ?>

jednak dispatcher wywoła ją w ten sposób:
  1. <?php
  2. $controllerInstance->editAction(); //zwróć uwagę na brak jakiegokolwiek parametru
  3. ?>

co wywoła błąd.
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 15:39