저자: Elliot Levin (elliot@aanet.com.au)
예제 #1
0
 private function Persist($Id, Storm $BloggingStorm, Repository $BlogRepository, Repository $AuthorRepository, Repository $TagRepository)
 {
     $Blog = $this->CreateBlog();
     foreach ($Blog->Posts as $Post) {
         $TagRepository->PersistAll($Post->Tags->getArrayCopy());
         $AuthorRepository->Persist($Post->Author);
     }
     $BloggingStorm->SaveChanges();
     $BlogRepository->Persist($Blog);
     $BlogRepository->SaveChanges();
     return $Blog;
 }
예제 #2
0
 public function __construct(callable $DomainDatabaseMapFactory, IConnection $Connection, IProxyGenerator $ProxyGenerator, Functional\IReader $FunctionReader, Functional\IParser $FunctionParser, Cache\ICache $Cache)
 {
     $this->Cache = $Cache;
     $DomainDatabaseMap = $this->Cache->Retrieve(self::DomainDatabaseMapInstanceKey);
     if (!$DomainDatabaseMap instanceof \Storm\Core\Mapping\DomainDatabaseMap) {
         $DomainDatabaseMap = $DomainDatabaseMapFactory();
         $this->Cache->Save(self::DomainDatabaseMapInstanceKey, $DomainDatabaseMap);
     }
     parent::__construct($DomainDatabaseMap, $Connection, $ProxyGenerator, $FunctionReader, $FunctionParser);
 }