zend框架2控制器中的基本路径访问

时间:2012-11-30 09:26:44

标签: zend-framework2

如何在ZF 2中的控制器中调用basePath助手。我必须重定向到我需要基本路径的特定URL。 返回$ this-> redirect() - > toUrl($ basePath。'/ application / rent / search');

3 个答案:

答案 0 :(得分:6)

这是一个easy method,可以在控制器中提供所有视图助手。所以你应该能够使用以下内容:

public function someAction()
{
    $renderer = $this->serviceLocator->get('Zend\View\Renderer\RendererInterface');
    $url = $renderer->basePath('/application/rent/search');
    $redirect = $this->plugin('redirect');
    return $redirect->toUrl($url);
}

答案 1 :(得分:3)

可以在控制器内确定完整的基本URL(http:// ...),如下所示:

$event = $this->getEvent();
$request = $event->getRequest();
$router = $event->getRouter();
$uri = $router->getRequestUri();
$baseUrl = sprintf('%s://%s%s', $uri->getScheme(), $uri->getHost(), $request->getBaseUrl());

答案 2 :(得分:1)

尝试

class XxxController extends AbstractActionController
{

...

public function basePath()
{
    $basePath = $this->serviceLocator
        ->get('viewhelpermanager')
        ->get('basePath');
    return $basePath();
}

OR

public function algoAction()
{
    echo $this->getRequest()->getBaseUrl();
}

http://project.com/profile

返回""

http://localhost/~limonazzo/public/profile

返回/ ~limonazzo / public /