Repository implements RepositoryInterface, SingletonInterface

The base repository - will usually be extended by a more concrete repository.

Table of Contents

Interfaces

RepositoryInterface
Contract for a repository
SingletonInterface
"empty" interface for singletons (marker interface pattern)

Properties

$defaultOrderings  : array<non-empty-string, QueryInterface::ORDER_*>
$defaultQuerySettings  : QuerySettingsInterface
Override query settings created by extbase natively.
$objectManager  : ObjectManagerInterface
$objectType  : class-string
$persistenceManager  : PersistenceManagerInterface

Methods

__call()  : mixed
Dispatches magic methods (findBy[Property]())
__construct()  : mixed
Constructs a new Repository
add()  : mixed
Adds an object to this repository
countAll()  : int
Returns the total number objects of this repository.
createQuery()  : QueryInterface
Returns a query for objects of this repository
findAll()  : QueryResultInterface|array<string|int, mixed>
Returns all objects of this repository.
findByIdentifier()  : object|null
Finds an object matching the given identifier.
findByUid()  : object|null
Finds an object matching the given identifier.
injectPersistenceManager()  : mixed
remove()  : mixed
Removes an object from this repository.
removeAll()  : mixed
Removes all objects of this repository as if remove() was called for all of them.
setDefaultOrderings()  : mixed
Sets the property names to order the result by per default.
setDefaultQuerySettings()  : mixed
Sets the default query settings to be used in this repository.
update()  : mixed
Replaces an existing object with the same identifier by the given object
getRepositoryClassName()  : mixed
Returns the class name of this class.

Properties

$defaultOrderings

protected array<non-empty-string, QueryInterface::ORDER_*> $defaultOrderings = []

$defaultQuerySettings

Override query settings created by extbase natively.

protected QuerySettingsInterface $defaultQuerySettings

Be careful if using this, see the comment on setDefaultQuerySettings() for more insights.

$objectType

protected class-string $objectType

Methods

__call()

Dispatches magic methods (findBy[Property]())

public __call(non-empty-string $methodName, array<int, mixed> $arguments) : mixed
Parameters
$methodName : non-empty-string

The name of the magic method

$arguments : array<int, mixed>

The arguments of the magic method

Tags
throws
UnsupportedMethodException

countAll()

Returns the total number objects of this repository.

public countAll() : int
Return values
int

The object count

findByIdentifier()

Finds an object matching the given identifier.

public findByIdentifier(mixed $identifier) : object|null
Parameters
$identifier : mixed

The identifier of the object to find

Return values
object|null

The matching object if found, otherwise NULL

findByUid()

Finds an object matching the given identifier.

public findByUid(int $uid) : object|null
Parameters
$uid : int

The identifier of the object to find

Return values
object|null

The matching object if found, otherwise NULL

remove()

Removes an object from this repository.

public remove(object $object) : mixed
Parameters
$object : object

The object to remove

Tags
throws
IllegalObjectTypeException

removeAll()

Removes all objects of this repository as if remove() was called for all of them.

public removeAll() : mixed

setDefaultOrderings()

Sets the property names to order the result by per default.

public setDefaultOrderings(array<non-empty-string, QueryInterface::ORDER_*$defaultOrderings) : mixed

Expected like this: array( 'foo' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING )

Parameters
$defaultOrderings : array<non-empty-string, QueryInterface::ORDER_*>

The property names to order by

setDefaultQuerySettings()

Sets the default query settings to be used in this repository.

public setDefaultQuerySettings(QuerySettingsInterface $defaultQuerySettings) : mixed

A typical use case is an initializeObject() method that creates a QuerySettingsInterface object, configures it and sets it to be used for all queries created by the repository.

Warning: Using this setter fully overrides native query settings created by QueryFactory->create(). This especially means that storagePid settings from configuration are not applied anymore, if not explicitly set. Make sure to apply these to your own QuerySettingsInterface object if needed, when using this method.

Parameters
$defaultQuerySettings : QuerySettingsInterface

The query settings to be used by default

getRepositoryClassName()

Returns the class name of this class.

protected getRepositoryClassName() : mixed

        
On this page

Search results