本文整理汇总了PHP中DevblocksPlatform::getRoutingService方法的典型用法代码示例。如果您正苦于以下问题:PHP DevblocksPlatform::getRoutingService方法的具体用法?PHP DevblocksPlatform::getRoutingService怎么用?PHP DevblocksPlatform::getRoutingService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DevblocksPlatform
的用法示例。
在下文中一共展示了DevblocksPlatform::getRoutingService方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processRequest
/**
* Processes the HTTP request.
*
* @param DevblocksHttpRequest $request
* @param boolean $is_ajax
*/
static function processRequest(DevblocksHttpRequest $request, $is_ajax = false)
{
$path = $request->path;
$controller_uri = array_shift($path);
// [JAS]: Offer the platform a chance to intercept.
switch ($controller_uri) {
// [JAS]: Plugin-supplied URIs
default:
$controllers = DevblocksPlatform::getExtensions('devblocks.controller', true);
$router = DevblocksPlatform::getRoutingService();
/*
* [JAS]: Try to find our command in the URI lookup first, and if we
* fail then fall back to raw extension ids.
*/
if (null == ($controller_id = $router->getRoute($controller_uri)) || null == ($controller = $controllers[$controller_id])) {
$controller = $controllers[APP_DEFAULT_CONTROLLER];
}
if ($controller instanceof DevblocksHttpRequestHandler) {
$controller->handleRequest($request);
// [JAS]: If we didn't write a new response, repeat the request
if (null == ($response = DevblocksPlatform::getHttpResponse())) {
$response = new DevblocksHttpResponse($request->path);
DevblocksPlatform::setHttpResponse($response);
}
// [JAS]: An Ajax request doesn't need the full Http cycle
if (!$is_ajax) {
$controller->writeResponse($response);
}
} else {
header("Status: 404");
die;
// [TODO] Improve
}
break;
}
return;
}
示例2: __construct
function __construct($manifest)
{
parent::__construct($manifest);
$router = DevblocksPlatform::getRoutingService();
$router->addRoute('webapi', 'core.controller.rest');
}