ExtendedIni
in package
implements
FileLoaderInterface
Handles the language loading and language file parsing
Tags
Interfaces, Classes, Traits and Enums
- FileLoaderInterface
Table of Contents
- $aliasDomains : array<string|int, mixed>
- Loaded TextDomains used for resolving aliases.
- $aliases : array<string|int, mixed>
- Map of translation aliases.
- $fallbackLocales : array<string|int, string>
- Fallback locales to use for language strings missing from selected file.
- $loadedAliasFiles : array<string|int, mixed>
- List of loaded alias configuration files.
- $loadedFiles : array<string|int, mixed>
- List of files loaded during the current run -- avoids infinite loops and duplicate loading.
- $pathStack : array<string|int, mixed>
- List of directories to search for language files.
- $reader : ExtendedIniReader
- Helper for reading .ini files from disk.
- $useAliases : bool
- Is aliasing enabled?
- __construct() : mixed
- Constructor
- addToPathStack() : void
- Add additional directories to the path stack.
- disableAliases() : void
- Disable aliasing functionality.
- enableAliases() : void
- Enable aliasing functionality.
- getLanguageFilename() : string
- Get the language file name for a language and domain
- load() : TextDomain
- Load method defined by FileLoaderInterface.
- applyAliases() : void
- Apply loaded aliases to the provided TextDomain.
- checkAndMarkLoadedFile() : bool
- Check if a file has already been loaded; mark it loaded if it is not already.
- loadLanguageFile() : TextDomain
- Search the path stack for language files and merge them together.
- loadLanguageLocale() : TextDomain
- Load the language file for a given locale and domain.
- loadParentData() : TextDomain
- Support method for loadLanguageFile: retrieve parent data.
- markAndLoadAliases() : void
- Load an alias configuration (if not already loaded) and mark it loaded.
- normalizeAlias() : array<string|int, string>
- Expand an alias string into an array (either [textdomain, key] or just [key]).
- resetAliases() : void
- Reset all collected alias data.
- resetLoadedFiles() : void
- Reset the loaded file list.
- resolveAlias() : string|null
- Resolve a single alias (or return null if it cannot be resolved)
Properties
$aliasDomains
Loaded TextDomains used for resolving aliases.
protected
array<string|int, mixed>
$aliasDomains
= []
$aliases
Map of translation aliases.
protected
array<string|int, mixed>
$aliases
= []
$fallbackLocales
Fallback locales to use for language strings missing from selected file.
protected
array<string|int, string>
$fallbackLocales
$loadedAliasFiles
List of loaded alias configuration files.
protected
array<string|int, mixed>
$loadedAliasFiles
= []
$loadedFiles
List of files loaded during the current run -- avoids infinite loops and duplicate loading.
protected
array<string|int, mixed>
$loadedFiles
= []
$pathStack
List of directories to search for language files.
protected
array<string|int, mixed>
$pathStack
$reader
Helper for reading .ini files from disk.
protected
ExtendedIniReader
$reader
$useAliases
Is aliasing enabled?
protected
bool
$useAliases
= true
Methods
__construct()
Constructor
public
__construct([array<string|int, mixed> $pathStack = [] ][, string|array<string|int, string> $fallbackLocales = null ][, ExtendedIniReader $reader = null ]) : mixed
Parameters
- $pathStack : array<string|int, mixed> = []
-
List of directories to search for language files.
- $fallbackLocales : string|array<string|int, string> = null
-
Fallback locale(s) to use for language strings missing from selected file.
- $reader : ExtendedIniReader = null
-
Helper for reading .ini files from disk.
Return values
mixed —addToPathStack()
Add additional directories to the path stack.
public
addToPathStack(array<string|int, mixed>|string $pathStack) : void
Parameters
- $pathStack : array<string|int, mixed>|string
-
Path stack addition(s).
Return values
void —disableAliases()
Disable aliasing functionality.
public
disableAliases() : void
Return values
void —enableAliases()
Enable aliasing functionality.
public
enableAliases() : void
Return values
void —getLanguageFilename()
Get the language file name for a language and domain
public
getLanguageFilename(string $locale, string $domain) : string
Parameters
- $locale : string
-
Locale name
- $domain : string
-
Text domain (if any)
Return values
string —load()
Load method defined by FileLoaderInterface.
public
load(string $locale, string $filename) : TextDomain
Parameters
- $locale : string
-
Locale to read from language file
- $filename : string
-
Relative base path for language file (used for loading text domains; optional)
Tags
Return values
TextDomain —applyAliases()
Apply loaded aliases to the provided TextDomain.
protected
applyAliases(TextDomain $data, string $currentLocale, string $currentDomain) : void
Parameters
- $data : TextDomain
-
Text domain to update
- $currentLocale : string
-
The locale currently being loaded
- $currentDomain : string
-
The name of the text domain currently being loaded
Return values
void —checkAndMarkLoadedFile()
Check if a file has already been loaded; mark it loaded if it is not already.
protected
checkAndMarkLoadedFile(string $filename) : bool
Parameters
- $filename : string
-
Name of file to check and mark as loaded.
Return values
bool —True if loaded, false if new.
loadLanguageFile()
Search the path stack for language files and merge them together.
protected
loadLanguageFile(string $filename, bool $failOnError, string|null $aliasDomain) : TextDomain
Parameters
- $filename : string
-
Name of file to search path stack for.
- $failOnError : bool
-
If true, throw an exception when file not found.
- $aliasDomain : string|null
-
Name of TextDomain for which we should process aliases (or null to skip alias processing)
Tags
Return values
TextDomain —loadLanguageLocale()
Load the language file for a given locale and domain.
protected
loadLanguageLocale(string $locale, string $domain[, bool $processAliases = false ]) : TextDomain
Parameters
- $locale : string
-
Locale name
- $domain : string
-
Text domain (if any)
- $processAliases : bool = false
-
Should we process alias data?
Return values
TextDomain —loadParentData()
Support method for loadLanguageFile: retrieve parent data.
protected
loadParentData(TextDomain $data, string|null $aliasDomain) : TextDomain
Parameters
- $data : TextDomain
-
TextDomain to populate with parent information.
- $aliasDomain : string|null
-
Name of TextDomain for which we should process aliases (or null to skip alias processing)
Return values
TextDomain —markAndLoadAliases()
Load an alias configuration (if not already loaded) and mark it loaded.
protected
markAndLoadAliases(string $aliasDomain, string $filename) : void
Parameters
- $aliasDomain : string
-
Domain for which aliases are being loaded
- $filename : string
-
Filename to load
Return values
void —normalizeAlias()
Expand an alias string into an array (either [textdomain, key] or just [key]).
protected
normalizeAlias(string $alias) : array<string|int, string>
Parameters
- $alias : string
-
String to parse
Return values
array<string|int, string> —resetAliases()
Reset all collected alias data.
protected
resetAliases() : void
Return values
void —resetLoadedFiles()
Reset the loaded file list.
protected
resetLoadedFiles() : void
Return values
void —resolveAlias()
Resolve a single alias (or return null if it cannot be resolved)
protected
resolveAlias(array<string|int, mixed> $alias, string $defaultDomain, string $locale[, array<string|int, mixed> $breadcrumbs = [] ]) : string|null
Parameters
- $alias : array<string|int, mixed>
-
The [domain, key] or [key] alias array
- $defaultDomain : string
-
The domain to use if $alias does not specify one
- $locale : string
-
The locale currently being loaded
- $breadcrumbs : array<string|int, mixed> = []
-
Previously-resolved aliases (to prevent infinite loops)