TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Core\Resource\AbstractRepository Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\AbstractRepository:
TYPO3\CMS\Extbase\Persistence\RepositoryInterface TYPO3\CMS\Core\SingletonInterface TYPO3\CMS\Core\Resource\FileRepository TYPO3\CMS\Core\Resource\ProcessedFileRepository TYPO3\CMS\Core\Resource\StorageRepository

Public Member Functions

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

Protected Member Functions

 createDomainObject (array $databaseRow)
 
 getWhereClauseForEnabledFields ()
 
 getEnvironmentMode ()
 
 getDatabaseConnection ()
 

Protected Attributes

 $table = ''
 
 $factory
 
 $typeField = ''
 
 $type = ''
 

Detailed Description

Abstract repository implementing the basic repository methods

Definition at line 20 of file AbstractRepository.php.

Constructor & Destructor Documentation

◆ __construct()

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

Creates this object.

Definition at line 45 of file AbstractRepository.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Member Function Documentation

◆ __call()

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

Magic call method for repository methods.

Parameters
string$methodName of the method
array$argumentsThe arguments
Exceptions

Definition at line 274 of file AbstractRepository.php.

◆ add()

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

Adds an object to this repository.

Parameters
object$objectThe object to add
Returns
void

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 57 of file AbstractRepository.php.

◆ countAll()

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 151 of file AbstractRepository.php.

◆ createDomainObject()

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

Creates an object managed by this repository.

Parameters
array$databaseRow
Returns
object

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

◆ createQuery()

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

Returns a query for objects of this repository

Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 248 of file AbstractRepository.php.

◆ findAll()

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

◆ findByIdentifier()

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

Finds an object matching the given identifier.

Parameters
mixed$identifierThe identifier of the object to find
Returns
object|NULL The matching object if found, otherwise NULL

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 260 of file AbstractRepository.php.

References TYPO3\CMS\Core\Resource\AbstractRepository\findByUid().

◆ findByUid()

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

◆ getAddedObjects()

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

Definition at line 100 of file AbstractRepository.php.

◆ getDatabaseConnection()

TYPO3\CMS\Core\Resource\AbstractRepository::getDatabaseConnection ( )
protected
Returns

Definition at line 304 of file AbstractRepository.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Resource\FileRepository\createDomainObject().

◆ getEntityClassName()

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

Returns the object type this repository is managing.

Returns
string

Definition at line 285 of file AbstractRepository.php.

◆ getEnvironmentMode()

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

Function to return the current TYPO3_MODE. This function can be mocked in unit tests to be able to test frontend behaviour.

Returns
string

Definition at line 296 of file AbstractRepository.php.

Referenced by TYPO3\CMS\Core\Resource\FileRepository\createDomainObject(), and TYPO3\CMS\Core\Resource\AbstractRepository\getWhereClauseForEnabledFields().

◆ getRemovedObjects()

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

Definition at line 110 of file AbstractRepository.php.

◆ getWhereClauseForEnabledFields()

TYPO3\CMS\Core\Resource\AbstractRepository::getWhereClauseForEnabledFields ( )
protected

get the WHERE clause for the enabled fields of this TCA table depending on the context

Returns
string the additional where clause, something like " AND deleted=0 AND hidden=0"

Definition at line 194 of file AbstractRepository.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\BEenableFields(), TYPO3\CMS\Backend\Utility\BackendUtility\deleteClause(), and TYPO3\CMS\Core\Resource\AbstractRepository\getEnvironmentMode().

Referenced by TYPO3\CMS\Core\Resource\AbstractRepository\findAll(), TYPO3\CMS\Core\Resource\AbstractRepository\findByUid(), and TYPO3\CMS\Core\Resource\StorageRepository\initializeLocalCache().

◆ remove()

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

Removes an object from this repository.

Parameters
object$objectThe object to remove
Returns
void

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 68 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.

Returns
void

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 162 of file AbstractRepository.php.

◆ replace()

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

Replaces an object by another.

Parameters
object$existingObjectThe existing object
object$newObjectThe new object
Returns
void

Definition at line 80 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' => ::ORDER_ASCENDING, 'bar' => ::ORDER_DESCENDING )

Parameters
array$defaultOrderingsThe property names to order by
Exceptions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 222 of file AbstractRepository.php.

◆ setDefaultQuerySettings()

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

Sets the default query settings to be used in this repository

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

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 236 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$modifiedObjectThe modified object

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 90 of file AbstractRepository.php.

Member Data Documentation

◆ $factory

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

Definition at line 30 of file AbstractRepository.php.

◆ $table

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

Definition at line 25 of file AbstractRepository.php.

◆ $type

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

Definition at line 40 of file AbstractRepository.php.

◆ $typeField

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

Definition at line 35 of file AbstractRepository.php.