eZ\Bundle\EzPublishCoreBundle\ApiLoader\LazyRepositoryFactory::buildRepository PHP Method

buildRepository() public method

To be used when lazy loading is needed.
public buildRepository ( ) : Closure
return Closure
    public function buildRepository()
    {
        $repository = $this->repository;
        return function () use($repository) {
            return $repository;
        };
    }

Usage Example

 public function testBuildRepository()
 {
     $repositoryMock = $this->getMock('eZ\\Publish\\API\\Repository\\Repository');
     $factory = new LazyRepositoryFactory($repositoryMock);
     $lazyRepository = $factory->buildRepository();
     $this->assertTrue(is_callable($lazyRepository));
     // Calling several times to ensure container is called only once.
     $this->assertSame($repositoryMock, $lazyRepository());
     $this->assertSame($repositoryMock, $lazyRepository());
     $this->assertSame($repositoryMock, $lazyRepository());
 }
LazyRepositoryFactory