eZ\Publish\Core\Repository\Repository::__construct PHP Method

__construct() public method

Construct repository object with provided storage engine
public __construct ( eZ\Publish\SPI\Persistence\Handler $persistenceHandler, eZ\Publish\SPI\Search\Handler $searchHandler, array $serviceSettings = [], eZ\Publish\API\Repository\Values\User\UserReference $user = null )
$persistenceHandler eZ\Publish\SPI\Persistence\Handler
$searchHandler eZ\Publish\SPI\Search\Handler
$serviceSettings array
$user eZ\Publish\API\Repository\Values\User\UserReference
    public function __construct(PersistenceHandler $persistenceHandler, SearchHandler $searchHandler, array $serviceSettings = array(), APIUserReference $user = null)
    {
        $this->persistenceHandler = $persistenceHandler;
        $this->searchHandler = $searchHandler;
        $this->serviceSettings = $serviceSettings + array('content' => array(), 'contentType' => array(), 'location' => array(), 'section' => array(), 'role' => array(), 'user' => array('anonymousUserID' => 10), 'language' => array(), 'trash' => array(), 'io' => array(), 'objectState' => array(), 'search' => array(), 'fieldType' => array(), 'nameableFieldTypes' => array(), 'urlAlias' => array(), 'urlWildcard' => array(), 'nameSchema' => array(), 'languages' => array());
        if (!empty($this->serviceSettings['languages'])) {
            $this->serviceSettings['language']['languages'] = $this->serviceSettings['languages'];
        }
        if ($user instanceof User) {
            $this->currentUser = $user;
            $this->currentUserRef = new UserReference($user->getUserId());
        } elseif ($user instanceof APIUserReference) {
            $this->currentUserRef = $user;
        } else {
            $this->currentUserRef = new UserReference($this->serviceSettings['user']['anonymousUserID']);
        }
    }