Eventy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- norbe
- Backer | 405
Podporu eventů už nette má. Viz. třeba formuláře
($form->onSubmit
)
Vlastní event lze vytvořit nějak takhle:
class Foo extends Object {
public $onXyz = array(); // pole callback-ů
public function bar() {
$this->onXyz(1); // zavolá všechny callbacky a jako parametr jim předá 1
}
}
- Honza Kuchař
- Člen | 1662
A potom si event zaregistruješ třeba takhle:
function test($parm){
echo $parm;
}
$foo = new Foo;
$foo->onXyz[] = callback("test"); // nebo array("test")
nebo
class Bar{
static function test($param){
echo $param;
}
}
$foo = new Foo;
$foo->onXyz[] = callback("Bar","test"); // nebo array(...)
nebo
class Bar{
function test($param){
echo $param;
}
}
$foo = new Foo;
$bar = new Bar;
$foo->onXyz[] = callback($bar,"test"); // nebo array(...)
nebo (od PHP 5.3)
$foo = new Foo;
$foo->onXyz[] = function($param){
echo $param;
}
Editoval honzakuchar (29. 1. 2010 13:30)