ExtensionGuesser
in package
implements
ExtensionGuesserInterface
A singleton mime type to file extension guesser.
A default guesser is provided. You can register custom guessers by calling the register() method on the singleton instance:
$guesser = ExtensionGuesser::getInstance();
$guesser->register(new MyCustomExtensionGuesser());
The last registered guesser is preferred over previously registered ones.
Tags
Interfaces, Classes, Traits and Enums
- ExtensionGuesserInterface
- Guesses the file extension corresponding to a given mime type.
Table of Contents
- $guessers : array<string|int, mixed>
- All registered ExtensionGuesserInterface instances.
- $instance : ExtensionGuesser
- The singleton instance.
- getInstance() : self
- Returns the singleton instance.
- guess() : string
- Tries to guess the extension.
- register() : mixed
- Registers a new extension guesser.
- __construct() : mixed
- Registers all natively provided extension guessers.
Properties
$guessers
All registered ExtensionGuesserInterface instances.
protected
array<string|int, mixed>
$guessers
= []
$instance
The singleton instance.
private
static ExtensionGuesser
$instance
= null
Methods
getInstance()
Returns the singleton instance.
public
static getInstance() : self
Return values
self —guess()
Tries to guess the extension.
public
guess(string $mimeType) : string
The mime type is passed to each registered mime type guesser in reverse order of their registration (last registered is queried first). Once a guesser returns a value that is not NULL, this method terminates and returns the value.
Parameters
- $mimeType : string
-
The mime type
Return values
string —The guessed extension or NULL, if none could be guessed
register()
Registers a new extension guesser.
public
register(ExtensionGuesserInterface $guesser) : mixed
When guessing, this guesser is preferred over previously registered ones.
Parameters
- $guesser : ExtensionGuesserInterface
Return values
mixed —__construct()
Registers all natively provided extension guessers.
private
__construct() : mixed