Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JStringInflector

Liste de tous les membres

Fonctions membres publiques

 addCountableRule ($data)
 addWord ($singular, $plural=null)
 addPluraliseRule ($data)
 addSingulariseRule ($data)
 isCountable ($word)
 isPlural ($word)
 isSingular ($word)
 toPlural ($word)
 toSingular ($word)

Fonctions membres publiques statiques

static getInstance ($new=false)

Fonctions membres protégées

 __construct ()

Fonctions membres privées

 _addRule ($data, $ruleType)
 _getCachedPlural ($singular)
 _getCachedSingular ($plural)
 _matchRegexRule ($word, $ruleType)
 _setCache ($singular, $plural=null)

Attributs privés

 $_rules
 $_cache = array()

Attributs privés statiques

static $_instance

Description détaillée

Définition à la ligne 21 du fichier inflector.php.


Documentation des constructeurs et destructeur

JStringInflector::__construct ( )
protected

Protected constructor.

Depuis:
12.1

Définition à la ligne 91 du fichier inflector.php.

{
// Pre=populate the irregual singular/plural.
$this
->addWord('deer')
->addWord('moose')
->addWord('sheep')
->addWord('bison')
->addWord('salmon')
->addWord('pike')
->addWord('trout')
->addWord('fish')
->addWord('swine')
->addWord('alias', 'aliases')
->addWord('bus', 'buses')
->addWord('foot', 'feet')
->addWord('goose', 'geese')
->addWord('hive', 'hives')
->addWord('louse', 'lice')
->addWord('man', 'men')
->addWord('mouse', 'mice')
->addWord('ox', 'oxen')
->addWord('quiz', 'quizes')
->addWord('status', 'statuses')
->addWord('tooth', 'teeth')
->addWord('woman', 'women');
}

Documentation des fonctions membres

JStringInflector::_addRule (   $data,
  $ruleType 
)
private

Adds inflection regex rules to the inflector.

Paramètres:
mixed$dataA string or an array of strings or regex rules to add.
string$ruleTypeThe rule type: singular | plural | countable
Renvoie:
void
Depuis:
12.1
Exceptions:
InvalidArgumentException

Définition à la ligne 131 du fichier inflector.php.

{
if (is_string($data))
{
$data = array($data);
}
elseif (!is_array($data))
{
// Do not translate.
throw new InvalidArgumentException('Invalid inflector rule data.');
}
foreach ($data as $rule)
{
// Ensure a string is pushed.
array_push($this->_rules[$ruleType], (string) $rule);
}
}
JStringInflector::_getCachedPlural (   $singular)
private

Gets an inflected word from the cache where the singular form is supplied.

Paramètres:
string$singularA singular form of a word.
Renvoie:
mixed The cached inflection or false if none found.
Depuis:
12.1

Définition à la ligne 159 du fichier inflector.php.

Références JString\strtolower().

{
$singular = JString::strtolower($singular);
// Check if the word is in cache.
if (isset($this->_cache[$singular]))
{
return $this->_cache[$singular];
}
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JStringInflector::_getCachedSingular (   $plural)
private

Gets an inflected word from the cache where the plural form is supplied.

Paramètres:
string$pluralA plural form of a word.
Renvoie:
mixed The cached inflection or false if none found.
Depuis:
12.1

Définition à la ligne 181 du fichier inflector.php.

Références JString\strtolower().

{
$plural = JString::strtolower($plural);
return array_search($plural, $this->_cache);
}

+ Voici le graphe d'appel pour cette fonction :

JStringInflector::_matchRegexRule (   $word,
  $ruleType 
)
private

Execute a regex from rules.

The 'plural' rule type expects a singular word. The 'singular' rule type expects a plural word.

Paramètres:
string$wordThe string input.
string$ruleTypeString (eg, singular|plural)
Renvoie:
mixed An inflected string, or false if no rule could be applied.
Depuis:
12.1

Définition à la ligne 201 du fichier inflector.php.

{
// Cycle through the regex rules.
foreach ($this->_rules[$ruleType] as $regex => $replacement)
{
$matches = 0;
$matchedWord = preg_replace($regex, $replacement, $word, -1, $matches);
if ($matches > 0)
{
return $matchedWord;
}
}
return false;
}
JStringInflector::_setCache (   $singular,
  $plural = null 
)
private

Sets an inflected word in the cache.

Paramètres:
string$singularThe singular form of the word.
string$pluralThe plural form of the word. If omitted, it is assumed the singular and plural are identical.
Renvoie:
void
Depuis:
12.1

Définition à la ligne 228 du fichier inflector.php.

Références JString\strtolower().

{
$singular = JString::strtolower($singular);
if ($plural === null)
{
$plural = $singular;
}
else
{
$plural = JString::strtolower($plural);
}
$this->_cache[$singular] = $plural;
}

+ Voici le graphe d'appel pour cette fonction :

JStringInflector::addCountableRule (   $data)

Adds a countable word.

Paramètres:
mixed$dataA string or an array of strings to add.
Renvoie:
JStringInflector Returns this object to support chaining.
Depuis:
12.1

Définition à la ligne 253 du fichier inflector.php.

{
$this->_addRule($data, 'countable');
return $this;
}
JStringInflector::addPluraliseRule (   $data)

Adds a pluralisation rule.

Paramètres:
mixed$dataA string or an array of regex rules to add.
Renvoie:
JStringInflector Returns this object to support chaining.
Depuis:
12.1

Définition à la ligne 286 du fichier inflector.php.

{
$this->_addRule($data, 'plural');
return $this;
}
JStringInflector::addSingulariseRule (   $data)

Adds a singularisation rule.

Paramètres:
mixed$dataA string or an array of regex rules to add.
Renvoie:
JStringInflector Returns this object to support chaining.
Depuis:
12.1

Définition à la ligne 302 du fichier inflector.php.

{
$this->_addRule($data, 'singular');
return $this;
}
JStringInflector::addWord (   $singular,
  $plural = null 
)

Adds a specific singular-plural pair for a word.

Paramètres:
string$singularThe singular form of the word.
string$pluralThe plural form of the word. If omitted, it is assumed the singular and plural are identical.
Renvoie:
JStringInflector Returns this object to support chaining.
Depuis:
12.1

Définition à la ligne 270 du fichier inflector.php.

{
$this->_setCache($singular, $plural);
return $this;
}
static JStringInflector::getInstance (   $new = false)
static

Gets an instance of the JStringInflector singleton.

Paramètres:
boolean$newIf true (default is false), returns a new instance regardless if one exists. This argument is mainly used for testing.
Renvoie:
JStringInflector
Depuis:
12.1

Définition à la ligne 319 du fichier inflector.php.

{
if ($new)
{
return new static;
}
elseif (!is_object(self::$_instance))
{
self::$_instance = new static;
}
}
JStringInflector::isCountable (   $word)

Checks if a word is countable.

Paramètres:
string$wordThe string input.
Renvoie:
boolean True if word is countable, false otherwise.
Depuis:
12.1

Définition à la ligne 342 du fichier inflector.php.

{
return (boolean) in_array($word, $this->_rules['countable']);
}
JStringInflector::isPlural (   $word)

Checks if a word is in a plural form.

Paramètres:
string$wordThe string input.
Renvoie:
boolean True if word is plural, false if not.
Depuis:
12.1

Définition à la ligne 356 du fichier inflector.php.

{
// Try the cache for an known inflection.
$inflection = $this->_getCachedSingular($word);
if ($inflection !== false)
{
return true;
}
// Compute the inflection to cache the values, and compare.
return $this->toPlural($this->toSingular($word)) == $word;
}
JStringInflector::isSingular (   $word)

Checks if a word is in a singular form.

Paramètres:
string$wordThe string input.
Renvoie:
boolean True if word is singular, false if not.
Depuis:
12.1

Définition à la ligne 379 du fichier inflector.php.

{
// Try the cache for an known inflection.
$inflection = $this->_getCachedPlural($word);
if ($inflection !== false)
{
return true;
}
// Compute the inflection to cache the values, and compare.
return $this->toSingular($this->toPlural($word)) == $word;
}
JStringInflector::toPlural (   $word)

Converts a word into its plural form.

Paramètres:
string$wordThe singular word to pluralise.
Renvoie:
mixed An inflected string, or false if no rule could be applied.
Depuis:
12.1

Définition à la ligne 402 du fichier inflector.php.

{
// Try to get the cached plural form from the singular.
$cache = $this->_getCachedPlural($word);
if ($cache !== false)
{
return $cache;
}
// Check if the word is a known singular.
if ($this->_getCachedSingular($word))
{
return false;
}
// Compute the inflection.
$inflected = $this->_matchRegexRule($word, 'plural');
if ($inflected !== false)
{
$this->_setCache($word, $inflected);
return $inflected;
}
return false;
}
JStringInflector::toSingular (   $word)

Converts a word into its singular form.

Paramètres:
string$wordThe plural word to singularise.
Renvoie:
mixed An inflected string, or false if no rule could be applied.
Depuis:
12.1

Définition à la ligne 440 du fichier inflector.php.

{
// Try to get the cached singular form from the plural.
$cache = $this->_getCachedSingular($word);
if ($cache !== false)
{
return $cache;
}
// Check if the word is a known plural.
if ($this->_getCachedPlural($word))
{
return false;
}
// Compute the inflection.
$inflected = $this->_matchRegexRule($word, 'singular');
if ($inflected !== false)
{
$this->_setCache($inflected, $word);
return $inflected;
}
return false;
}

Documentation des données membres

JStringInflector::$_cache = array()
private

Définition à la ligne 84 du fichier inflector.php.

JStringInflector::$_instance
staticprivate

Définition à la ligne 29 du fichier inflector.php.

JStringInflector::$_rules
private

Définition à la ligne 37 du fichier inflector.php.


La documentation de cette classe a été générée à partir du fichier suivant :