本文整理汇总了PHP中Hooks::fire方法的典型用法代码示例。如果您正苦于以下问题:PHP Hooks::fire方法的具体用法?PHP Hooks::fire怎么用?PHP Hooks::fire使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hooks
的用法示例。
在下文中一共展示了Hooks::fire方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCallbacks
}
$this->hooks[$name][] = $callback;
}
public function getCallbacks($name)
{
return isset($this->hooks[$name]) ? $this->hooks[$name] : array();
}
public function fire($name)
{
foreach ($this->getCallbacks($name) as $callback) {
// prevent fatal errors, do your own warning or
// exception here as you need it.
if (!is_callable($callback)) {
continue;
}
call_user_func($callback);
}
}
}
/**
*
*/
$hooks = new Hooks();
$hooks->add('event', function () {
echo 'morally disputed.';
});
$hooks->add('event', function () {
echo 'explicitly called.';
});
$hooks->fire('event');
示例2: test_fire
/**
* Tests Hooks::fire().
*
* @test
* @dataProvider provider_fire
* @param array functions
* @param string expected
*/
public function test_fire($parameters, $expected)
{
foreach ($parameters as $parameter) {
Hooks::register('event', function ($k, &$array) {
for ($i = $k; $i < $k + 10; $i++) {
$array[] = $i;
}
}, array($parameter));
}
$array = array();
Hooks::fire('event', array(&$array));
$count = 0;
foreach ($parameters as $parameter) {
for ($i = $parameter; $i < $parameter + 10; $i++) {
$count++;
$this->assertContains($i, $array);
}
}
$this->assertSame($count, sizeof($array));
}