【发布时间】:2014-02-21 17:49:19
【问题描述】:
我创建了一个将 uri 转换为带参数的路由名称的服务
我试图捕获 ResourceNotFoundException 不存在的 uris 但得到 500 错误和异常
<?php
namespace OOOO\AdvertisingBundle\Utilities;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Symfony\Component\Routing\Router;
class RouteConverter
{
private $router;
public function __construct(Router $router)
{
$this->router = $router;
}
public function uriToRoute($uri)
{
try {
$matched = $this->router->match($uri);
} catch (Exception $e) {
return null;
}
$result['name'] = $matched['_route'];
unset($matched['_route']);
unset($matched['_controller']);
$result['parameters'] = $matched;
return $result;
}
public function generateRoute($name, $parameters)
{
try {
$matched = $this->router->generate($name, $parameters, UrlGeneratorInterface::RELATIVE_PATH);
} catch (Exception $e) {
return null;
}
return $matched;
}
}
【问题讨论】:
-
你能显示你的php日志吗?你不使用异常,所以你应该 catch(\Exception $e)
标签: php symfony exception routing