這裏是一個很棒的技巧。
創建一個特質第一:
然後一個接口:
<?php
namespace Application;
use Zend\Session;
interface RefererAwareInterface
{
/**
* @param Session\Container $sessionContainer
*/
public function setSessionContainer(Session\Container $sessionContainer);
}
然後使用界面注入SessionContainer:
<?php
namespace Application;
class Module
{
public function getControllerConfig()
{
return [
'factories' => [
],
'initializers' => array(
function ($instance, $sm) {
if ($instance instanceof RefererAwareInterface) {
$instance->setSessionContainer(new Session\Container('Referer'));
}
}
)
];
}
}
在你的控制器
然後:
<?php
namespace Auth\Controller;
class UsersController extends AbstractActionController implements RefererAwareInterface
{
use RefererRedirect;
public function indexAction()
{
$this->clearReferer();
// do stuff
}
public function addAction()
{
$this->registerReferer();
// do stuff
return $this->redirectToRefererOrDefaultRoute('auth/users');
}
public function backAction()
{
return $this->redirectToRefererOrDefaultRoute('auth/users');
}
}
謝謝@Sam快速回復。這正是我一直在尋找:) – Sanju
對不起,但你的鏈接已打破(+1無論如何) –
@FopaLéonConstantin如果githubs鏈接中斷,我的權力。我專門使用了提交鏈接,以便它們可用:S – Sam