在控制器Zend框架2基路径访问(zend framework 2 base path access

2019-07-04 06:57发布

我如何我可以调用基本路径帮手控制器ZF 2.必须重定向到一个特定的URL中,我需要的基本路径。 返回$这个 - >重定向() - >的toURL($基本路径 '/应用/租/搜索'。);

Answer 1:

这里有一个简单的方法 ,以使可从控制器内的所有视图助手。 所以,你应该能够使用以下命令:

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);
}


Answer 2:

全基本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());


Answer 3:

尝试

class XxxController extends AbstractActionController
{

...

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

要么

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

http://project.com/profile

返回“”

HTTP://本地主机/〜limonazzo /公/个人资料

回报/〜limonazzo /大众/



文章来源: zend framework 2 base path access in controller