4

ZF 2 のコントローラーで basePath ヘルパーを呼び出すにはどうすればよいですか。基本パスが必要な特定の URL にリダイレクトする必要があります。return $this->redirect()->toUrl($basePath.'/application/rent/search');

4

3 に答える 3

7

コントローラー内からすべてのビュー ヘルパーを使用できるようにする簡単な方法を次に示します。したがって、次のものを使用できるはずです。

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);
}
于 2012-11-30T18:17:35.230 に答える
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());
于 2012-11-30T17:53:53.090 に答える
1

試す

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://localhost/~limonazzo/public/profile

/~limonazzo/public/ を返します

于 2016-08-17T23:04:42.293 に答える