示例#1
0
 /**
  * Initializes and return an instance of the given class name.
  * 
  * @param string $className
  * @return mixed
  */
 public function getInstance($className)
 {
     switch ($className) {
         case '\\Zepi\\Core\\AccessControl\\Manager\\AccessControlManager':
             if ($this->accessControlManager === null) {
                 $dataSourceManager = $this->framework->getDataSourceManager();
                 $this->accessControlManager = $this->framework->initiateObject($className, array('accessEntitiesDataSource' => $dataSourceManager->getDataSource('\\Zepi\\Core\\AccessControl\\DataSource\\AccessEntitiesDataSourceInterface'), 'permissionsDataSource' => $dataSourceManager->getDataSource('\\Zepi\\Core\\AccessControl\\DataSource\\PermissionsDataSourceInterface')));
             }
             return $this->accessControlManager;
             break;
         case '\\Zepi\\Core\\AccessControl\\Manager\\AccessLevelManager':
             if ($this->accessLevelManager === null) {
                 $accessLevelsObjectBackend = $this->framework->initiateObject('\\Zepi\\Turbo\\Backend\\FileObjectBackend', array('path' => $this->framework->getRootDirectory() . '/data/access-levels.data'));
                 $this->accessLevelManager = $this->framework->initiateObject($className, array('accessLevelObjectBackend' => $accessLevelsObjectBackend));
                 $this->accessLevelManager->initializeAccessLevelManager();
             }
             return $this->accessLevelManager;
             break;
         case '\\Zepi\\Core\\AccessControl\\Manager\\EventAccessManager':
             if ($this->eventAccessManager === null) {
                 $eventAccessObjectBackend = $this->framework->initiateObject('\\Zepi\\Turbo\\Backend\\FileObjectBackend', array('path' => $this->framework->getRootDirectory() . '/data/event-access-levels.data'));
                 $this->eventAccessManager = $this->framework->initiateObject($className, array('eventAccessObjectBackend' => $eventAccessObjectBackend));
                 $this->eventAccessManager->initializeEventAccessManager();
             }
             return $this->eventAccessManager;
             break;
         case '\\Zepi\\Core\\AccessControl\\DataSource\\AccessEntitiesDataSourceDoctrine':
             $dataSourceManager = $this->framework->getDataSourceManager();
             return $this->framework->initiateObject($className, array('permissionsDataSource' => $dataSourceManager->getDataSource('\\Zepi\\Core\\AccessControl\\DataSource\\PermissionsDataSourceInterface')));
             break;
         default:
             return $this->framework->initiateObject($className);
             break;
     }
 }