FileIDHelperResolutionStrategy
class FileIDHelperResolutionStrategy implements FileResolutionStrategy (View source)
File resolution strategy that relies on a list of FileIDHelpers to find files.
DefaultFileIDHelper
is the default helper use to generate new file ID.ResolutionFileIDHelpers
can contain a list of helpers that will be used to try to find existing file.
This file resolution strategy can be helpful when the approach to resolving files has changed over time and you need older file format to resolve.
You may also provide a VersionedStage
to only look at files that were published.
Traits
Provides extensions to this object to integrate it with standard config API methods.
A class that can be instantiated or replaced via DI
Config options
dependencies |
Properties
Methods
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
Gets the uninherited value for the given config option
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Try to resolve a file ID against the provided Filesystem.
Try to resolve a file ID against the provided Filesystem looking at newer versions of the file.
Build a file ID for a variant so it follows the pattern of its original file. The variant may not exist on the Filesystem yet, but the original file has to. This is to make sure that variant files always follow the same pattern as the original file they are attached to.
Try to find a file ID for an existing file using the provided file tuple.
Build a file ID for the provided tuple, irrespective of its existence.
Find all the variants of the provided tuple
Normalise a filename to be consistent with this file resolution strategy.
Try to resolve the provided file ID string irrespective of whether it exists on the Filesystem or not.
Given a fileID string or a Parsed File ID, create a matching ParsedFileID without any variant.
Details
static Config_ForClass
config()
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
mixed
uninherited(string $name)
Gets the uninherited value for the given config option
static Injectable
create(mixed ...$args)
An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
static Injectable
singleton(string $class = null)
Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
__construct()
No description
setFileHashingService($service)
No description
ParsedFileID|null
resolveFileID(string $fileID, Filesystem $filesystem)
Try to resolve a file ID against the provided Filesystem.
ParsedFileID|null
softResolveFileID(string $fileID, Filesystem $filesystem)
Try to resolve a file ID against the provided Filesystem looking at newer versions of the file.
ParsedFileID
generateVariantFileID(ParsedFileID|array $tuple, Filesystem $fs)
Build a file ID for a variant so it follows the pattern of its original file. The variant may not exist on the Filesystem yet, but the original file has to. This is to make sure that variant files always follow the same pattern as the original file they are attached to.
ParsedFileID|null
searchForTuple(array|ParsedFileID $tuple, Filesystem $filesystem, bool $strict = true)
Try to find a file ID for an existing file using the provided file tuple.
FileIDHelper
getDefaultFileIDHelper()
No description
setDefaultFileIDHelper(FileIDHelper $defaultFileIDHelper)
No description
FileIDHelper[]
getResolutionFileIDHelpers()
No description
setResolutionFileIDHelpers(array $resolutionFileIDHelpers)
No description
string
getVersionedStage()
No description
setVersionedStage(string $versionedStage)
No description
string
buildFileID(array|ParsedFileID $tuple)
Build a file ID for the provided tuple, irrespective of its existence.
Should always return the preferred file ID for this resolution strategy.
generator|ParsedFileID[]|null
findVariants(array|ParsedFileID $tuple, Filesystem $filesystem)
Find all the variants of the provided tuple
string
cleanFilename(string $filename)
Normalise a filename to be consistent with this file resolution strategy.
ParsedFileID
parseFileID($fileID)
Try to resolve the provided file ID string irrespective of whether it exists on the Filesystem or not.
ParsedFileID|null
stripVariant(string|ParsedFileID $fileID)
Given a fileID string or a Parsed File ID, create a matching ParsedFileID without any variant.