本文整理匯總了PHP中Bitrix\Main\Event::addResult方法的典型用法代碼示例。如果您正苦於以下問題:PHP Event::addResult方法的具體用法?PHP Event::addResult怎麽用?PHP Event::addResult使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Bitrix\Main\Event
的用法示例。
在下文中一共展示了Event::addResult方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: sendToEventHandler
private function sendToEventHandler(array $handler, Event $event)
{
try {
$result = true;
$event->addDebugInfo($handler);
if (isset($handler["TO_MODULE_ID"]) && !empty($handler["TO_MODULE_ID"]) && $handler["TO_MODULE_ID"] != 'main') {
$result = Loader::includeModule($handler["TO_MODULE_ID"]);
} elseif (isset($handler["TO_PATH"]) && !empty($handler["TO_PATH"])) {
$path = ltrim($handler["TO_PATH"], "/");
if (($path = Loader::getLocal($path)) !== false) {
$result = (include_once $path);
}
} elseif (isset($handler["FULL_PATH"]) && !empty($handler["FULL_PATH"]) && IO\File::isFileExists($handler["FULL_PATH"])) {
$result = (include_once $handler["FULL_PATH"]);
}
$event->addDebugInfo($result);
if (isset($handler["TO_METHOD_ARG"]) && is_array($handler["TO_METHOD_ARG"]) && !empty($handler["TO_METHOD_ARG"])) {
$args = $handler["TO_METHOD_ARG"];
} else {
$args = array();
}
if ($handler["VERSION"] > 1) {
$args[] = $event;
} else {
$args = array_merge($args, array_values($event->getParameters()));
}
$callback = null;
if (isset($handler["CALLBACK"])) {
$callback = $handler["CALLBACK"];
} elseif (!empty($handler["TO_CLASS"]) && !empty($handler["TO_METHOD"]) && class_exists($handler["TO_CLASS"])) {
$callback = array($handler["TO_CLASS"], $handler["TO_METHOD"]);
}
if ($callback != null) {
$result = call_user_func_array($callback, $args);
}
if ($result != null && !$result instanceof EventResult) {
$result = new EventResult(EventResult::UNDEFINED, $result, $handler["TO_MODULE_ID"]);
}
$event->addDebugInfo($result);
if ($result != null) {
$event->addResult($result);
}
} catch (\Exception $ex) {
if ($event->isDebugOn()) {
$event->addException($ex);
} else {
throw $ex;
}
}
}