refactoring lang class.

This commit is contained in:
Taylor Otwell 2011-07-07 23:48:05 -05:00
parent c5ddb67d6b
commit ea6b58b28c
1 changed files with 9 additions and 8 deletions

View File

@ -28,6 +28,10 @@ class Lang {
/** /**
* Create a new Lang instance. * Create a new Lang instance.
* *
* Language lines are retrieved using "dot" notation. So, asking for the
* "messages.required" language line would return the "required" line
* from the "messages" language file.
*
* @param string $line * @param string $line
* @return void * @return void
*/ */
@ -63,7 +67,6 @@ public function get($default = null)
if ( ! array_key_exists($language.$file, static::$lines)) if ( ! array_key_exists($language.$file, static::$lines))
{ {
// The language file doesn't exist, return the default value.
$line = is_callable($default) ? call_user_func($default) : $default; $line = is_callable($default) ? call_user_func($default) : $default;
} }
else else
@ -82,13 +85,14 @@ public function get($default = null)
/** /**
* Parse a language key. * Parse a language key.
* *
* The value on the left side of the dot is the language file name,
* while the right side of the dot is the item within that file.
*
* @param string $key * @param string $key
* @return array * @return array
*/ */
private function parse($key) private function parse($key)
{ {
// The left side of the dot is the file name, while the right side of the dot
// is the item within that file being requested.
$segments = explode('.', $key); $segments = explode('.', $key);
if (count($segments) < 2) if (count($segments) < 2)
@ -108,14 +112,11 @@ private function parse($key)
*/ */
private function load($file, $language) private function load($file, $language)
{ {
// If we have already loaded the language file or the file doesn't exist, bail out. if ( ! array_key_exists($language.$file, static::$lines) and file_exists($path = APP_PATH.'lang/'.$language.'/'.$file.EXT))
if (array_key_exists($language.$file, static::$lines) or ! file_exists($path = APP_PATH.'lang/'.$language.'/'.$file.EXT))
{ {
return;
}
static::$lines[$language.$file] = require $path; static::$lines[$language.$file] = require $path;
} }
}
/** /**
* Set the place-holder replacements. * Set the place-holder replacements.