Vyžadování persistentních parametrů presenteru v definici každé akce

- Mikulas Dite
 - Člen | 756
 
Je nutné vynucovat uvedení persistentních parametrů presenteru i v každé metodě?
Následující ukázka vyhodí pro Profile: $id.
error: Passed more parameters than method Presenter\Front\Profile::actionDefault() expects.
class ProfilePresenter extends BasePresenter
{
	/** @persistent */
	public $id;
	public function actionDefault()
	{
		dump($this->id);
	}
}
				
- Ondřej Mirtes
 - Člen | 1536
 
Ukaž v šabloně ten {link}, asi ho zapisuješ špatně
(myslí si, že má strčit něco do actionDefault, namísto použití
persistentního parametru).

- Mikulas Dite
 - Člen | 756
 
Aha, máš pravdu. Našel jsem tam
<a n:href="Profile: $id">, bez čárky. S ní se to chová
jinak. Trošku mě překvapuje, že to funguje. Nemělo by to teda spíš hodit
warning nebo něco?
Editoval Mikulas Dite (25. 5. 2011 22:13)

- Ondřej Mirtes
 - Člen | 1536
 
Pro zápis persistentního parametru musíš psát tohle:
{link Profile: 'id' => $id}
Ten tvůj zápis je skutečně pro parametr do metody.

- Mikulas Dite
 - Člen | 756
 
Aha, rozumím. Při jednom parametru by to sice mohlo poznat, ale to by byla moc velká magie, protože pro víc už by to nebylo jasné. U normálních parametrů to bere podle pořadí.
Ok, díky za objasnění.