‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Resource\AbstractRepository Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\AbstractRepository:
TYPO3\CMS\Extbase\Persistence\RepositoryInterface TYPO3\CMS\Extbase\Persistence\RepositoryInterface TYPO3\CMS\Core\SingletonInterface TYPO3\CMS\Core\Resource\FileRepository TYPO3\CMS\Core\Resource\FileRepository TYPO3\CMS\Core\Resource\ProcessedFileRepository TYPO3\CMS\Core\Tests\Unit\Resource\Repository\Fixtures\TestingRepository

Public Member Functions

 __construct ()
 
 add ($object)
 
 remove ($object)
 
 replace ($existingObject, $newObject)
 
 update ($modifiedObject)
 
array getAddedObjects ()
 
array getRemovedObjects ()
 
array findAll ()
 
int countAll ()
 
 removeAll ()
 
object findByUid ($uid)
 
 setDefaultOrderings (array $defaultOrderings)
 
 setDefaultQuerySettings (QuerySettingsInterface $defaultQuerySettings)
 
TYPO3 CMS Extbase Persistence QueryInterface createQuery ()
 
object findByIdentifier ($identifier)
 
 __call ($method, $arguments)
 
string getEntityClassName ()
 

Protected Member Functions

object createDomainObject (array $databaseRow)
 
string getEnvironmentMode ()
 

Protected Attributes

string $table = ''
 
ResourceFactory $factory
 
string $typeField = ''
 
string $type = ''
 
string $objectType
 

Detailed Description

Abstract repository implementing the basic repository methods @template T of object <T>

Definition at line 33 of file AbstractRepository.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Resource\AbstractRepository::__construct ( )

Member Function Documentation

◆ __call()

TYPO3\CMS\Core\Resource\AbstractRepository::__call (   $method,
  $arguments 
)

Magic call method for repository methods.

Parameters
string$method‪Name of the method
array$arguments‪The arguments
Exceptions

Definition at line 290 of file AbstractRepository.php.

◆ add()

TYPO3\CMS\Core\Resource\AbstractRepository::add (   $object)

Adds an object to this repository.

Parameters
object$object‪The object to add @phpstan-param T $object

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Reimplemented in TYPO3\CMS\Core\Resource\ProcessedFileRepository.

Definition at line 71 of file AbstractRepository.php.

◆ countAll()

int TYPO3\CMS\Core\Resource\AbstractRepository::countAll ( )

Returns the total number objects of this repository.

Returns
‪int The object count

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 181 of file AbstractRepository.php.

◆ createDomainObject()

object TYPO3\CMS\Core\Resource\AbstractRepository::createDomainObject ( array  $databaseRow)
abstractprotected

◆ createQuery()

TYPO3 CMS Extbase Persistence QueryInterface TYPO3\CMS\Core\Resource\AbstractRepository::createQuery ( )

Returns a query for objects of this repository

Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 262 of file AbstractRepository.php.

◆ findAll()

array TYPO3\CMS\Core\Resource\AbstractRepository::findAll ( )

Returns all objects of this repository.

Returns
‪array An array of objects, empty if no objects found @phpstan-return iterable<T>

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 139 of file AbstractRepository.php.

References TYPO3\CMS\Core\Resource\AbstractRepository\createDomainObject(), and TYPO3\CMS\Core\Resource\AbstractRepository\getEnvironmentMode().

◆ findByIdentifier()

object TYPO3\CMS\Core\Resource\AbstractRepository::findByIdentifier (   $identifier)

Finds an object matching the given identifier.

Parameters
mixed$identifier‪The identifier of the object to find
Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 276 of file AbstractRepository.php.

References TYPO3\CMS\Webhooks\Message\$identifier, and TYPO3\CMS\Core\Resource\AbstractRepository\findByUid().

◆ findByUid()

object TYPO3\CMS\Core\Resource\AbstractRepository::findByUid (   $uid)

◆ getAddedObjects()

array TYPO3\CMS\Core\Resource\AbstractRepository::getAddedObjects ( )

Returns all objects of this repository add()ed but not yet persisted to the storage layer.

Returns
‪array An array of objects @phpstan-return T[]

Definition at line 115 of file AbstractRepository.php.

◆ getEntityClassName()

string TYPO3\CMS\Core\Resource\AbstractRepository::getEntityClassName ( )

Returns the object type this repository is managing.

Returns
‪string

Definition at line 300 of file AbstractRepository.php.

References TYPO3\CMS\Core\Resource\AbstractRepository\$objectType.

◆ getEnvironmentMode()

string TYPO3\CMS\Core\Resource\AbstractRepository::getEnvironmentMode ( )
protected

Function to return the current application type based on $GLOBALS['TSFE']. This function can be mocked in unit tests to be able to test frontend behaviour.

Returns
‪string

Definition at line 311 of file AbstractRepository.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Resource\AbstractRepository\findAll(), TYPO3\CMS\Core\Resource\FileRepository\findByRelation(), and TYPO3\CMS\Core\Resource\AbstractRepository\findByUid().

◆ getRemovedObjects()

array TYPO3\CMS\Core\Resource\AbstractRepository::getRemovedObjects ( )

Returns an array with objects remove()d from the repository that had been persisted to the storage layer before.

Returns
‪array @phpstan-return T[]

Definition at line 128 of file AbstractRepository.php.

◆ remove()

TYPO3\CMS\Core\Resource\AbstractRepository::remove (   $object)

Removes an object from this repository.

Parameters
object$object‪The object to remove @phpstan-param T $object

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 81 of file AbstractRepository.php.

◆ removeAll()

TYPO3\CMS\Core\Resource\AbstractRepository::removeAll ( )

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

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 190 of file AbstractRepository.php.

◆ replace()

TYPO3\CMS\Core\Resource\AbstractRepository::replace (   $existingObject,
  $newObject 
)

Replaces an object by another.

Parameters
object$existingObject‪The existing object
object$newObject‪The new object @phpstan-param T $existingObject @phpstan-param T $newObject

Definition at line 93 of file AbstractRepository.php.

◆ setDefaultOrderings()

TYPO3\CMS\Core\Resource\AbstractRepository::setDefaultOrderings ( array  $defaultOrderings)

Sets the property names to order the result by per default. Expected like this: array( 'foo' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING )

Parameters
array$defaultOrderings‪The property names to order by
Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 239 of file AbstractRepository.php.

◆ setDefaultQuerySettings()

TYPO3\CMS\Core\Resource\AbstractRepository::setDefaultQuerySettings ( QuerySettingsInterface  $defaultQuerySettings)

Sets the default query settings to be used in this repository

Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface$defaultQuerySettings‪The query settings to be used by default
Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 251 of file AbstractRepository.php.

◆ update()

TYPO3\CMS\Core\Resource\AbstractRepository::update (   $modifiedObject)

Replaces an existing object with the same identifier by the given object

Parameters
object$modifiedObject‪The modified object @phpstan-param T $modifiedObject

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Reimplemented in TYPO3\CMS\Core\Resource\ProcessedFileRepository.

Definition at line 103 of file AbstractRepository.php.

Member Data Documentation

◆ $factory

ResourceFactory TYPO3\CMS\Core\Resource\AbstractRepository::$factory
protected

Definition at line 41 of file AbstractRepository.php.

◆ $objectType

string TYPO3\CMS\Core\Resource\AbstractRepository::$objectType
protected

The main object type of this class

Definition at line 55 of file AbstractRepository.php.

Referenced by TYPO3\CMS\Core\Resource\AbstractRepository\getEntityClassName().

◆ $table

string TYPO3\CMS\Core\Resource\AbstractRepository::$table = ''
protected

Definition at line 37 of file AbstractRepository.php.

◆ $type

string TYPO3\CMS\Core\Resource\AbstractRepository::$type = ''
protected

Definition at line 49 of file AbstractRepository.php.

◆ $typeField

string TYPO3\CMS\Core\Resource\AbstractRepository::$typeField = ''
protected

Definition at line 45 of file AbstractRepository.php.