コード例 #1
0
 /**
  * This function prepares and returns the Persistance Manager
  *
  * @return Tx_Extbase_Persistence_Manager A (singleton) instance of the Persistence Manager
  */
 public static function getPersistenceManager()
 {
     if (self::$persistenceManager === NULL) {
         $identityMap = t3lib_div::makeInstance('Tx_Extbase_Persistence_IdentityMap');
         $persistenceSession = t3lib_div::makeInstance('Tx_Extbase_Persistence_Session');
         // singleton
         $dataMapFactory = t3lib_div::makeInstance('Tx_Extbase_Persistence_Mapper_DataMapFactory');
         $dataMapFactory->injectReflectionService(self::$reflectionService);
         $dataMapper = t3lib_div::makeInstance('Tx_Extbase_Persistence_Mapper_DataMapper');
         // singleton
         $dataMapper->injectIdentityMap($identityMap);
         $dataMapper->injectSession($persistenceSession);
         $dataMapper->injectReflectionService(self::$reflectionService);
         $dataMapper->injectDataMapFactory($dataMapFactory);
         $storageBackend = t3lib_div::makeInstance('Tx_Extbase_Persistence_Storage_Typo3DbBackend', $GLOBALS['TYPO3_DB']);
         // singleton
         $storageBackend->injectDataMapper($dataMapper);
         $qomFactory = t3lib_div::makeInstance('Tx_Extbase_Persistence_QOM_QueryObjectModelFactory', $storageBackend);
         $dataMapper->setQomFactory($qomFactory);
         $persistenceBackend = t3lib_div::makeInstance('Tx_Extbase_Persistence_Backend', $persistenceSession, $storageBackend);
         // singleton
         $persistenceBackend->injectDataMapper($dataMapper);
         $persistenceBackend->injectIdentityMap($identityMap);
         $persistenceBackend->injectReflectionService(self::$reflectionService);
         $persistenceBackend->injectQueryFactory(t3lib_div::makeInstance('Tx_Extbase_Persistence_QueryFactory'));
         $persistenceBackend->injectQomFactory($qomFactory);
         $objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_Manager');
         // singleton
         $persistenceManager = t3lib_div::makeInstance('Tx_Extbase_Persistence_Manager');
         // singleton
         $persistenceManager->injectBackend($persistenceBackend);
         $persistenceManager->injectSession($persistenceSession);
         $persistenceManager->injectObjectManager($objectManager);
         self::$persistenceManager = $persistenceManager;
     }
     return self::$persistenceManager;
 }
コード例 #2
0
 /**
  * Injects the Persistence Manager
  *
  * @param Tx_Extbase_Persistence_Manager An instance of the Persistence Manager
  * @return void
  */
 public function injectPersistenceManager(Tx_Extbase_Persistence_Manager $persistenceManager)
 {
     self::$persistenceManager = $persistenceManager;
 }