如何在ZF 2中的控制器中调用basePath助手。我必须重定向到我需要基本路径的特定URL。 返回$ this-> redirect() - > toUrl($ basePath。'/ application / rent / search');
答案 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://localhost/~limonazzo/public/profile
返回/ ~limonazzo / public /