Nie, nie! Co innego miałem na myśli mówiąc z automatu. Ja to sobie wyobrażałem tak:
Jest jakiś kontroler i jakaś jego akcja:
<?php
class ctrlController extends Zend_Controller_Action
{
public function actAction($param1, $param2)
{
...
}
}
?>
Gdzieś znajduje się link, np.:
http://localhost/ctrl/act/param1/value1/param2/value2Na podstawie tego, czego nauczyłem się z dokumentacji sądziłem, iż uruchomienie metody wygląda mniej więcej tak, że po kliknięciu w taki link nastąpi oczywiście rozebrania adresu URI wewnątrz routera i przekazaniu obiektu żądania - informacji na temat oczekiwanego kontrolera, akcji i podanych parametrów do dispatcher-a, by ten wreszcie uruchomił tą akcję tego kontrolera podając jej parametry czyli upraszczając coś jak:
<?php
$ctrl = new ctrlController();
$ctrl -> actAction(value1, value2);
?>
Bazując na tym co mi cierpliwie wytłumaczyliście, działa to zgoła inaczej tzn do parametrów muszę dobierać się indywidualnie w każdej metodzie
np tak:
<?php
class ctrlController extends Zend_Controller_Action
{
public function actAction()
{
$filterGET = new Zend_Filter_Input($_GET);
if(!is_numeric($id = $filtratedGET -> getRaw
('id'))) throw new Exception('Parametr powinien byc liczba!');
...
}
}
?>
W związku z tym nie ma sensu podawać nazw oczekiwanych parametrów w definicji metod?
<?php
class ctrlController extends Zend_Controller_Action
{
public function actAction(tu nie ma sensu)
{
...
}
}
?>
Dobrze kumam czy całkiem mi się popierdzieliło?