implementare l'ACL, una volta fatto te lo trovi per tutta l'applicazione e non devi praticamente mai metterci le mani (solo per andarci a registrare un nuovo controller che crei e definire i ruoli).
Se lavori su progetti ZF, questo esempio può esseri utile: 
(non ho mai provato ad utilizzare questa classe singolarmente in progetti php già esistenti, ma credo cmq sia uguale)
AccessControl.php (lo metti nella library)
	Codice PHP:
	
class AccessControl extends Zend_Acl{
    
    public function __construct(){
        
      $index = new Zend_Acl_Resource('index');
        $this->add($index);
        
        $this->add(new Zend_Acl_Resource('error'));
        $this->add(new Zend_Acl_Resource('login'));
                //Registro il controller Main
                $this->add(new Zend_Acl_Resource('main'));
        $guest = new Zend_Acl_Role('guest');
        $this->addRole($guest);
        $this->addRole(NEW Zend_Acl_Role('member'),'guest'); 
        $this->allow('guest','error');    
        $this->allow('guest','index');//il guest puo vedere index        
        $this->allow('guest','login');//il guest puo vedere login
        $this->allow('member','main');//il member puo vedere MainController
    }        
} 
 
AuthPlugin.php (lo metti nella library)
	Codice PHP:
	
class AuthPlugin extends Zend_Controller_Plugin_Abstract{
    
    public function preDispatch(Zend_Controller_Request_Http $request){
        
        $controller = $request->getControllerName(); 
        $action     = $request->getActionName();
        
        $auth = Zend_Auth::getInstance();
        $role = 'guest';
                 
        if ($auth->hasIdentity()){ 
            $role = 'member';
        }
        
        $acl = Zend_Registry::get('acl');
        
        if($acl->isAllowed($role,$controller,$action)){
            //echo "Autorizzato";            
        }
        else{
            //rimando l'utente al login
                        $request->setControllerName('login');
            $request->setActionName('index');        
        }    
    }
    
} 
 
Aggiungi queste funzione nel Bootstrap in modo da avviare la risorsa ad ogni richiesta:
	Codice PHP:
	
    function _initAccessControl(){         
         $acl = new AccessControl();
        Zend_Registry::set('acl', $acl);
    }
    
    function _initSetController(){
        $this->bootstrap('FrontController'); 
        $front = $this->getResource('FrontController');
         $front->registerPlugin(new AuthPlugin());    
     }