StorageRepository implements LoggerAwareInterface uses LoggerAwareTrait
Repository for accessing the file storages
Table of Contents
Interfaces
- LoggerAwareInterface
Properties
- $driverRegistry : DriverRegistry
- $eventDispatcher : EventDispatcherInterface
- $localDriverStorageCache : array<int, LocalPath>|null
- $storageInstances : array<string|int, ResourceStorage>|null
- $storageRowCache : array<string|int, mixed>|null
- $table : string
Methods
- __construct() : mixed
- createFromRecord() : ResourceStorage
- createLocalStorage() : int
- Create the initial local storage base e.g. for the fileadmin/ directory.
- createStorageObject() : ResourceStorage
- Creates a storage object from a storage database row.
- findAll() : array<string|int, ResourceStorage>
- Returns a list of mountpoints that are available in the VFS.
- findByCombinedIdentifier() : ResourceStorage|null
- Gets a storage object from a combined identifier
- findByStorageType() : array<string|int, ResourceStorage>
- Finds storages by type, i.e. the driver used
- findByUid() : ResourceStorage|null
- flush() : void
- Flush the internal storage caches to force reloading of storages with the next fetch.
- getDefaultStorage() : ResourceStorage|null
- Returns the Default Storage
- getStorageObject() : ResourceStorage
- Creates an instance of the storage from given UID. The $recordData can be supplied to increase performance.
- convertFlexFormDataToConfigurationArray() : array<string|int, mixed>
- Converts a flexform data string to a flat array with key value pairs
- fetchRecordDataByUid() : array<string|int, mixed>
- findBestMatchingStorageByLocalPath() : int
- Checks whether a file resides within a real storage in local file system.
- getDriverObject() : DriverInterface
- Creates a driver object for a specified storage object.
- initializeLocalCache() : mixed
- Initializes the Storage
- initializeLocalStorageCache() : void
- Creates an array mapping all uids to the basePath of storages using the "local" driver.
- testCaseSensitivity() : bool
- Test if the local filesystem is case sensitive
Properties
$driverRegistry
protected
DriverRegistry
$driverRegistry
$eventDispatcher
protected
EventDispatcherInterface
$eventDispatcher
$localDriverStorageCache
protected
array<int, LocalPath>|null
$localDriverStorageCache
$storageInstances
protected
array<string|int, ResourceStorage>|null
$storageInstances
$storageRowCache
protected
array<string|int, mixed>|null
$storageRowCache
$table
protected
string
$table
= 'sys_file_storage'
Methods
__construct()
public
__construct(EventDispatcherInterface $eventDispatcher, DriverRegistry $driverRegistry) : mixed
Parameters
- $eventDispatcher : EventDispatcherInterface
- $driverRegistry : DriverRegistry
createFromRecord()
public
createFromRecord(array<string|int, mixed> $storageRecord) : ResourceStorage
Parameters
- $storageRecord : array<string|int, mixed>
Return values
ResourceStoragecreateLocalStorage()
Create the initial local storage base e.g. for the fileadmin/ directory.
public
createLocalStorage(string $name, string $basePath, string $pathType[, string $description = '' ][, bool $default = false ]) : int
Parameters
- $name : string
- $basePath : string
- $pathType : string
- $description : string = ''
- $default : bool = false
-
set to default storage
Return values
int —uid of the inserted record
createStorageObject()
Creates a storage object from a storage database row.
public
createStorageObject(array<string|int, mixed> $storageRecord[, array<string|int, mixed>|null $storageConfiguration = null ]) : ResourceStorage
Parameters
- $storageRecord : array<string|int, mixed>
- $storageConfiguration : array<string|int, mixed>|null = null
-
Storage configuration (if given, this won't be extracted from the FlexForm value but the supplied array used instead)
this method is only public for having access to ResourceFactory->createStorageObject(). In TYPO3 v12 this method can be changed to protected again.
Return values
ResourceStoragefindAll()
Returns a list of mountpoints that are available in the VFS.
public
findAll() : array<string|int, ResourceStorage>
In case no storage exists this automatically created a storage for fileadmin/
Return values
array<string|int, ResourceStorage>findByCombinedIdentifier()
Gets a storage object from a combined identifier
public
findByCombinedIdentifier(string $identifier) : ResourceStorage|null
Parameters
- $identifier : string
-
An identifier of the form [storage uid]:[object identifier]
Return values
ResourceStorage|nullfindByStorageType()
Finds storages by type, i.e. the driver used
public
findByStorageType(string $storageType) : array<string|int, ResourceStorage>
Parameters
- $storageType : string
Return values
array<string|int, ResourceStorage>findByUid()
public
findByUid(int $uid) : ResourceStorage|null
Parameters
- $uid : int
Return values
ResourceStorage|nullflush()
Flush the internal storage caches to force reloading of storages with the next fetch.
public
flush() : void
getDefaultStorage()
Returns the Default Storage
public
getDefaultStorage() : ResourceStorage|null
The Default Storage is considered to be the replacement for the fileadmin/ construct. It is automatically created with the setting fileadminDir from install tool. getDefaultStorage->getDefaultFolder() will get you fileadmin/user_upload/ in a standard TYPO3 installation.
Return values
ResourceStorage|nullgetStorageObject()
Creates an instance of the storage from given UID. The $recordData can be supplied to increase performance.
public
getStorageObject(int $uid[, array<string|int, mixed> $recordData = [] ][, mixed|null &$fileIdentifier = null ]) : ResourceStorage
Parameters
- $uid : int
-
The uid of the storage to instantiate.
- $recordData : array<string|int, mixed> = []
-
The record row from database.
- $fileIdentifier : mixed|null = null
-
Identifier for a file. Used for auto-detection of a storage, but only if $uid === 0 (Local default storage) is used
Tags
Return values
ResourceStorageconvertFlexFormDataToConfigurationArray()
Converts a flexform data string to a flat array with key value pairs
protected
convertFlexFormDataToConfigurationArray(string $flexFormData) : array<string|int, mixed>
Parameters
- $flexFormData : string
Return values
array<string|int, mixed> —Array with key => value pairs of the field data in the FlexForm
fetchRecordDataByUid()
protected
fetchRecordDataByUid(int $uid) : array<string|int, mixed>
Parameters
- $uid : int
Return values
array<string|int, mixed>findBestMatchingStorageByLocalPath()
Checks whether a file resides within a real storage in local file system.
protected
findBestMatchingStorageByLocalPath(string &$localPath) : int
If no match is found, uid 0 is returned which is a fallback storage pointing to fileadmin in public web path.
The file identifier is adapted accordingly to match the new storage's base path.
Parameters
- $localPath : string
Return values
intgetDriverObject()
Creates a driver object for a specified storage object.
protected
getDriverObject(string $driverIdentificationString, array<string|int, mixed> $driverConfiguration) : DriverInterface
Parameters
- $driverIdentificationString : string
-
The driver class (or identifier) to use.
- $driverConfiguration : array<string|int, mixed>
-
The configuration of the storage
Return values
DriverInterfaceinitializeLocalCache()
Initializes the Storage
protected
initializeLocalCache() : mixed
initializeLocalStorageCache()
Creates an array mapping all uids to the basePath of storages using the "local" driver.
protected
initializeLocalStorageCache() : void
testCaseSensitivity()
Test if the local filesystem is case sensitive
protected
testCaseSensitivity(string $absolutePath) : bool
Parameters
- $absolutePath : string