本文整理汇总了PHP中EventManager::register方法的典型用法代码示例。如果您正苦于以下问题:PHP EventManager::register方法的具体用法?PHP EventManager::register怎么用?PHP EventManager::register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventManager
的用法示例。
在下文中一共展示了EventManager::register方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onSave
// Dummy save-transcript event
function onSave($params)
{
echo "** In the on-save hook.\n";
$transcript = $params['transcript'];
$text = $transcript->getText();
echo "Current text: [[{$text}]]\n";
$transcript->setText("<page>{$text}</page>");
echo "New text: [[" . $transcript->getText() . "]]\n";
}
// Dummy data
$data = array('transcript_id' => 5, 'item_id' => 193, 'user_id' => 'username');
// Register save/load hooks
echo "Registering events...\n";
$eventManager = new EventManager();
$eventManager->register('load', 'transcript', 'onLoad');
$eventManager->register('save', 'transcript', 'onSave');
echo "Setting event manager...\n";
Transcript::setEventManager($eventManager);
// Register
echo "Registering transcript hooks...\n";
Transcript::register('load', 'myTranscriptLoadFunction');
Transcript::register('save', 'myTranscriptSaveFunction');
echo "Loading transcript...\n\n";
$transcript = new Transcript();
$transcript->load($data);
echo "Text for transcript: [" . $transcript->getText() . "]\n\n";
echo "Changing text...\n";
$myText = "Hallelujah, it worked!";
$transcript->setText($myText);
echo "Text for transcript: [" . $transcript->getText() . "]\n\n";
示例2: EventManager
<?php
include '../EventManager.php';
$eventManager = new EventManager();
echo "Getting events for 'system' group...\n";
$events = $eventManager->getEventsByGroup('system');
echo "Events: \n";
print_r($events);
echo "\nRegistering an 'echo'/'system' event...\n";
$eventManager->register("echo", "system", "myEvent");
echo "\nRegistering an 'echo'/'system' event...\n";
$eventManager->register("echo", "system", "myEvent2");
echo "\nRegistering a 'script'/'project' event...\n";
$eventManager->register("script", "project", "Test::event");
echo "\nGetting events for 'system' group...\n";
$events = $eventManager->getEventsByGroup('system');
echo "Events: \n";
print_r($events);
echo "\nTriggering said event with 'apple' and 'water' passed...\n";
echo "Also triggering event 2...\n";
$eventManager->trigger("echo", "system", array('fruit' => 'apple', 'beverage' => 'water'));
echo "\nRemoving said event...\n";
$eventManager->remove("echo", "system", "myEvent");
echo "\nGetting events for 'system' group...\n";
$events = $eventManager->getEventsByGroup('system');
echo "Events: \n";
print_r($events);
echo "\nRemoving all echo event...\n";
$eventManager->remove("echo", "system");
echo "\nGetting events for 'system' group...\n";
$events = $eventManager->getEventsByGroup('system');
示例3: add_action
function add_action($event, $callback)
{
EventManager::register($event, $callback);
}