PHP Class Neos\Flow\ResourceManagement\ResourceManager

Afficher le fichier Open project: neos/flow-development-collection Class Usage Examples

Protected Properties

Свойство Type Description
$collections array
$environment Neos\Flow\Utility\Environment
$initialized boolean
$objectManager Neos\Flow\ObjectManagement\ObjectManagerInterface
$persistenceManager Neos\Flow\Persistence\PersistenceManagerInterface
$resourceRepository ResourceRepository
$settings array
$storages array
$systemLogger Neos\Flow\Log\SystemLoggerInterface
$targets array

Méthodes publiques

Méthode Description
createResourceFromContent ( string $content, string $filename ) : PersistentResource Creates a resource from the given binary content as a persistent resource.
deleteResource ( PersistentResource $resource, boolean $unpublishResource = true ) : boolean Deletes the given PersistentResource from the ResourceRepository and, if the storage data is no longer used in another PersistentResource object, also deletes the data from the storage.
getCollection ( string $collectionName ) : Neos\Flow\ResourceManagement\CollectionInterface Returns a Collection instance by the given name
getCollections ( ) : array Returns an array of currently known Collection instances
getCollectionsByStorage ( Neos\Flow\ResourceManagement\Storage\StorageInterface $storage ) : array Returns an array of Collection instances which use the given storage
getImportedResources ( ) : SplObjectStorage Returns an object storage with all resource objects which have been imported by the ResourceManager during this script call. Each resource comes with an array of additional information about its import.
getPackageAndPathByPublicPath ( string $path ) : array Return the package key and the relative path and filename from the given resource path
getPublicPackageResourceUri ( string $packageKey, string $relativePathAndFilename ) : string Returns the public URI for a static resource provided by the specified package and in the given path below the package's resources directory.
getPublicPackageResourceUriByPath ( string $path ) : string Returns the public URI for a static resource provided by the public package
getPublicPersistentResourceUri ( PersistentResource $resource ) : string | boolean Returns the web accessible URI for the given resource object
getPublicPersistentResourceUriByHash ( string $resourceHash, string $collectionName = self::DEFAULT_PERSISTENT_COLLECTION_NAME ) : string Returns the web accessible URI for the resource object specified by the given SHA1 hash.
getResourceBySha1 ( string $sha1Hash ) : PersistentResource | null Returns the resource object identified by the given SHA1 hash over the content, or NULL if no such PersistentResource object is known yet.
getStorage ( string $storageName ) : Neos\Flow\ResourceManagement\Storage\StorageInterface Returns a Storage instance by the given name
getStreamByResource ( PersistentResource $resource ) : resource | boolean Returns a stream handle of the given persistent resource which allows for opening / copying the resource's data. Note that this stream handle may only be used read-only.
importResource ( string | resource $source, string $collectionName = ResourceManager::DEFAULT_PERSISTENT_COLLECTION_NAME, string $forcedPersistenceObjectIdentifier = null ) : PersistentResource Imports a resource (file) from the given location as a persistent resource.
importResourceFromContent ( string $content, string $filename, string $collectionName = ResourceManager::DEFAULT_PERSISTENT_COLLECTION_NAME, string $forcedPersistenceObjectIdentifier = null ) : PersistentResource Imports the given content passed as a string as a new persistent resource.
importUploadedResource ( array $uploadInfo, string $collectionName = self::DEFAULT_PERSISTENT_COLLECTION_NAME ) : PersistentResource Imports a resource (file) from the given upload info array as a persistent resource.
injectSettings ( array $settings ) : void Injects the settings of this package
shutdownObject ( ) : void Checks if recently imported resources really have been persisted - and if not, removes its data from the respective storage.

Méthodes protégées

Méthode Description
initialize ( ) : void Initializes the ResourceManager by parsing the related configuration and registering the resource stream wrapper.
initializeCollections ( ) : void Initializes the Collection objects according to the current settings
initializeStorages ( ) : void Initializes the Storage objects according to the current settings
initializeTargets ( ) : void Initializes the Target objects according to the current settings
prepareUploadedFileForImport ( array $uploadInfo ) : array Prepare an uploaded file to be imported as resource object. Will check the validity of the file, move it outside of upload folder if open_basedir is enabled and check the filename.

Method Details

createResourceFromContent() public méthode

Creates a resource from the given binary content as a persistent resource.
See also: importResourceFromContent()
Deprecation: use importResourceFromContent() instead
public createResourceFromContent ( string $content, string $filename ) : PersistentResource
$content string The binary content to import
$filename string The filename to use for the newly generated resource
Résultat PersistentResource A resource object representing the created resource or FALSE if an error occurred.

deleteResource() public méthode

This method will also remove the PersistentResource object from the (internal) ResourceRepository.
public deleteResource ( PersistentResource $resource, boolean $unpublishResource = true ) : boolean
$resource PersistentResource The resource to delete
$unpublishResource boolean If the resource should be unpublished before deleting it from the storage
Résultat boolean true if the resource was deleted, otherwise FALSE

getCollection() public méthode

Returns a Collection instance by the given name
public getCollection ( string $collectionName ) : Neos\Flow\ResourceManagement\CollectionInterface
$collectionName string Name of the collection as defined in the settings
Résultat Neos\Flow\ResourceManagement\CollectionInterface or NULL

getCollections() public méthode

Returns an array of currently known Collection instances
public getCollections ( ) : array
Résultat array

getCollectionsByStorage() public méthode

Returns an array of Collection instances which use the given storage
public getCollectionsByStorage ( Neos\Flow\ResourceManagement\Storage\StorageInterface $storage ) : array
$storage Neos\Flow\ResourceManagement\Storage\StorageInterface
Résultat array

getImportedResources() public méthode

Example for a returned object storage: $resource1 => array('originalFilename' => 'Foo.txt'), $resource2 => array('originalFilename' => 'Bar.txt'), ...
public getImportedResources ( ) : SplObjectStorage
Résultat SplObjectStorage

getPackageAndPathByPublicPath() public méthode

Return the package key and the relative path and filename from the given resource path
public getPackageAndPathByPublicPath ( string $path ) : array
$path string The ressource path, like resource://Your.Package/Public/Image/Dummy.png
Résultat array The array contains two value, first the packageKey followed by the relativePathAndFilename

getPublicPackageResourceUri() public méthode

Returns the public URI for a static resource provided by the specified package and in the given path below the package's resources directory.
public getPublicPackageResourceUri ( string $packageKey, string $relativePathAndFilename ) : string
$packageKey string Package key
$relativePathAndFilename string A relative path below the "Resources" directory of the package
Résultat string

getPublicPackageResourceUriByPath() public méthode

Returns the public URI for a static resource provided by the public package
public getPublicPackageResourceUriByPath ( string $path ) : string
$path string The ressource path, like resource://Your.Package/Public/Image/Dummy.png
Résultat string

getPublicPersistentResourceUri() public méthode

Returns the web accessible URI for the given resource object
public getPublicPersistentResourceUri ( PersistentResource $resource ) : string | boolean
$resource PersistentResource The resource object
Résultat string | boolean A URI as a string or FALSE if the collection of the resource is not found

getPublicPersistentResourceUriByHash() public méthode

Returns the web accessible URI for the resource object specified by the given SHA1 hash.
public getPublicPersistentResourceUriByHash ( string $resourceHash, string $collectionName = self::DEFAULT_PERSISTENT_COLLECTION_NAME ) : string
$resourceHash string The SHA1 hash identifying the resource content
$collectionName string Name of the collection the resource is part of
Résultat string A URI as a string

getResourceBySha1() public méthode

Returns the resource object identified by the given SHA1 hash over the content, or NULL if no such PersistentResource object is known yet.
public getResourceBySha1 ( string $sha1Hash ) : PersistentResource | null
$sha1Hash string The SHA1 identifying the data the PersistentResource stands for
Résultat PersistentResource | null

getStorage() public méthode

Returns a Storage instance by the given name
public getStorage ( string $storageName ) : Neos\Flow\ResourceManagement\Storage\StorageInterface
$storageName string Name of the storage as defined in the settings
Résultat Neos\Flow\ResourceManagement\Storage\StorageInterface or NULL

getStreamByResource() public méthode

Returns a stream handle of the given persistent resource which allows for opening / copying the resource's data. Note that this stream handle may only be used read-only.
public getStreamByResource ( PersistentResource $resource ) : resource | boolean
$resource PersistentResource The resource to retrieve the stream for
Résultat resource | boolean The resource stream or FALSE if the stream could not be obtained

importResource() public méthode

On a successful import this method returns a PersistentResource object representing the newly imported persistent resource and automatically publishes it to the configured publication target.
public importResource ( string | resource $source, string $collectionName = ResourceManager::DEFAULT_PERSISTENT_COLLECTION_NAME, string $forcedPersistenceObjectIdentifier = null ) : PersistentResource
$source string | resource A URI (can therefore also be a path and filename) or a PHP resource stream(!) pointing to the PersistentResource to import
$collectionName string Name of the collection this new resource should be added to. By default the standard collection for persistent resources is used.
$forcedPersistenceObjectIdentifier string INTERNAL: Force the object identifier for this resource to the given UUID
Résultat PersistentResource A resource object representing the imported resource

importResourceFromContent() public méthode

The given content typically is binary data or a text format. On a successful import this method returns a PersistentResource object representing the imported content and automatically publishes it to the configured publication target. The specified filename will be used when presenting the resource to a user. Its file extension is important because the resource management will derive the IANA Media Type from it.
public importResourceFromContent ( string $content, string $filename, string $collectionName = ResourceManager::DEFAULT_PERSISTENT_COLLECTION_NAME, string $forcedPersistenceObjectIdentifier = null ) : PersistentResource
$content string The binary content to import
$filename string The filename to use for the newly generated resource
$collectionName string Name of the collection this new resource should be added to. By default the standard collection for persistent resources is used.
$forcedPersistenceObjectIdentifier string INTERNAL: Force the object identifier for this resource to the given UUID
Résultat PersistentResource A resource object representing the imported resource

importUploadedResource() public méthode

On a successful import this method returns a PersistentResource object representing the newly imported persistent resource.
public importUploadedResource ( array $uploadInfo, string $collectionName = self::DEFAULT_PERSISTENT_COLLECTION_NAME ) : PersistentResource
$uploadInfo array An array detailing the resource to import (expected keys: name, tmp_name)
$collectionName string Name of the collection this uploaded resource should be added to
Résultat PersistentResource A resource object representing the imported resource

initialize() protected méthode

Initializes the ResourceManager by parsing the related configuration and registering the resource stream wrapper.
protected initialize ( ) : void
Résultat void

initializeCollections() protected méthode

Initializes the Collection objects according to the current settings
protected initializeCollections ( ) : void
Résultat void

initializeStorages() protected méthode

Initializes the Storage objects according to the current settings
protected initializeStorages ( ) : void
Résultat void

initializeTargets() protected méthode

Initializes the Target objects according to the current settings
protected initializeTargets ( ) : void
Résultat void

injectSettings() public méthode

Injects the settings of this package
public injectSettings ( array $settings ) : void
$settings array
Résultat void

prepareUploadedFileForImport() protected méthode

Prepare an uploaded file to be imported as resource object. Will check the validity of the file, move it outside of upload folder if open_basedir is enabled and check the filename.
protected prepareUploadedFileForImport ( array $uploadInfo ) : array
$uploadInfo array
Résultat array Array of string with the two keys "filepath" (the path to get the filecontent from) and "filename" the filename of the originally uploaded file.

shutdownObject() public méthode

Checks if recently imported resources really have been persisted - and if not, removes its data from the respective storage.
public shutdownObject ( ) : void
Résultat void

Property Details

$collections protected_oe property

protected array $collections
Résultat array

$environment protected_oe property

protected Environment,Neos\Flow\Utility $environment
Résultat Neos\Flow\Utility\Environment

$initialized protected_oe property

protected bool $initialized
Résultat boolean

$objectManager protected_oe property

protected ObjectManagerInterface,Neos\Flow\ObjectManagement $objectManager
Résultat Neos\Flow\ObjectManagement\ObjectManagerInterface

$persistenceManager protected_oe property

protected PersistenceManagerInterface,Neos\Flow\Persistence $persistenceManager
Résultat Neos\Flow\Persistence\PersistenceManagerInterface

$resourceRepository protected_oe property

protected ResourceRepository,Neos\Flow\ResourceManagement $resourceRepository
Résultat ResourceRepository

$settings protected_oe property

protected array $settings
Résultat array

$storages protected_oe property

protected array $storages
Résultat array

$systemLogger protected_oe property

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
Résultat Neos\Flow\Log\SystemLoggerInterface

$targets protected_oe property

protected array $targets
Résultat array