PackageStorage
class PackageStorage extends FileSystemStorage (View source)
A resource storage which stores and retrieves resources from active Flow packages.
Properties
protected string | $name | Name which identifies this resource storage |
from FileSystemStorage |
protected string | $path | The path (in a filesystem) where resources are stored |
from FileSystemStorage |
protected Environment | $environment | from FileSystemStorage | |
protected ResourceManager | $resourceManager | from FileSystemStorage | |
protected ResourceRepository | $resourceRepository | from FileSystemStorage | |
protected PackageManager | $packageManager |
Methods
Initializes this resource storage
Because we cannot store persistent resources in a PackageStorage, this method always returns false.
Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.
Retrieve all Objects stored in this storage.
Retrieve all Objects stored in this storage, filtered by the given collection name
Determines and returns the absolute path and filename for a storage file identified by the given SHA1 hash.
Return all Objects stored in this storage filtered by the given directory / filename pattern
Create a storage object for the given static resource path.
Prepares a relative publication path for a package resource.
Returns the absolute paths of public resources directories of all active packages.
Details
__construct(string $name, array $options = [])
Constructor
void
initializeObject()
Initializes this resource storage
string
getName()
Returns the instance name of this storage
resource|false
getStreamByResource(PersistentResource $resource)
Because we cannot store persistent resources in a PackageStorage, this method always returns false.
resource|false
getStreamByResourcePath(string $relativePath)
Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.
StorageObject>
getObjects()
Retrieve all Objects stored in this storage.
StorageObject>
getObjectsByCollection(CollectionInterface $collection)
Retrieve all Objects stored in this storage, filtered by the given collection name
protected string
getStoragePathAndFilenameByHash(string $sha1Hash)
Determines and returns the absolute path and filename for a storage file identified by the given SHA1 hash.
This function assures a nested directory structure in order to avoid thousands of files in a single directory which may result in performance problems in older file systems such as ext2, ext3 or NTFS.
StorageObject>
getObjectsByPathPattern(string $pattern)
Return all Objects stored in this storage filtered by the given directory / filename pattern
protected StorageObject
createStorageObject(string $resourcePathAndFilename, FlowPackageInterface $resourcePackage)
Create a storage object for the given static resource path.
protected string
prepareRelativePublicationPath(string $objectPath, string $packageKey, string $packageResourcePath)
Prepares a relative publication path for a package resource.
string[]
getPublicResourcePaths()
Returns the absolute paths of public resources directories of all active packages.
This method is used directly by the FileSystemSymlinkTarget.