예제 #1
0
 /**
  * @covers Phossa\Shared\Message\Loader\LanguageLoader::loadMessages
  * @depends testGetLanguage
  */
 public function testLoadMessages($lang)
 {
     // nonexit class
     $res1 = $this->object->loadMessages('NonExistClass');
     $this->assertEquals([], $res1);
     // not find language file
     $res2 = $this->object->loadMessages(Test2::getClass());
     $this->assertEquals([], $res2);
     $res3 = $this->object->loadMessages(Test::getClass());
     $this->assertEquals(['lang' => $lang], $res3);
 }
예제 #2
0
 /**
  * 取得語言物件之單例。
  *
  * @return LanguageLoader 語言物件
  * @throws InvalidArgumentException 如果找不到設定語言
  */
 public static function getInstance()
 {
     static $inst = null;
     if ($inst == null) {
         $locale = PIXMICAT_LANGUAGE;
         $langFile = ROOTPATH . "lib/lang/{$locale}.php";
         if (file_exists($langFile)) {
             require $langFile;
         } else {
             throw new InvalidArgumentException(sprintf('Assigned locale: %s not found.', $locale));
         }
         $inst = new LanguageLoader($locale, $language);
         $inst->setFallback('en_US');
     }
     return $inst;
 }
예제 #3
0
 /**
  * 取得語言函式庫物件
  *
  * @return LanguageLoader Language 函式庫物件
  */
 public static function getLanguageInstance()
 {
     static $instLanguage = null;
     if ($instLanguage == null) {
         require ROOTPATH . 'lib/lib_language.php';
         $instLanguage = LanguageLoader::getInstance();
     }
     return $instLanguage;
 }