/** * @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); }
/** * 取得語言物件之單例。 * * @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; }
/** * 取得語言函式庫物件 * * @return LanguageLoader Language 函式庫物件 */ public static function getLanguageInstance() { static $instLanguage = null; if ($instLanguage == null) { require ROOTPATH . 'lib/lib_language.php'; $instLanguage = LanguageLoader::getInstance(); } return $instLanguage; }