controller->Auth(): one more lazy-loading helper

Not sure about the capital A, but doesn't look so bad - and similar
to Config().
This commit is contained in:
Thomas Gelf 2014-06-22 12:06:09 +02:00
parent 373e1c5ecb
commit a4955df1a9
1 changed files with 14 additions and 4 deletions

View File

@ -86,6 +86,8 @@ class ActionController extends Zend_Controller_Action
protected $params;
private $auth;
public function Config($file = null)
{
if ($file === null) {
@ -102,6 +104,14 @@ class ActionController extends Zend_Controller_Action
return $this->config;
}
public function Auth()
{
if ($this->auth === null) {
$this->auth = AuthManager::getInstance();
}
return $this->auth;
}
/**
* The constructor starts benchmarking, loads the configuration and sets
* other useful controller properties
@ -211,7 +221,7 @@ class ActionController extends Zend_Controller_Action
*/
public function getRestrictions($name)
{
return AuthManager::getInstance()->getRestrictions($name);
return $this->Auth()->getRestrictions($name);
}
/**
@ -222,7 +232,7 @@ class ActionController extends Zend_Controller_Action
*/
public function hasPermission($name)
{
return AuthManager::getInstance()->hasPermission($name);
return $this->Auth()->hasPermission($name);
}
/**
@ -233,7 +243,7 @@ class ActionController extends Zend_Controller_Action
*/
public function assertPermission($name)
{
if (! AuthManager::getInstance()->hasPermission($name)) {
if (! $this->Auth()->hasPermission($name)) {
// TODO: Shall this be an Auth Exception? Or a 404?
throw new Exception(sprintf('Auth error, no permission for "%s"', $name));
}
@ -280,7 +290,7 @@ class ActionController extends Zend_Controller_Action
return false;
}
return !AuthManager::getInstance()->isAuthenticated();
return !$this->Auth()->isAuthenticated();
}
/**