private static function getImpl() { if(is_null(self::$impl)) { $pkg = Package::getPackageByName('i18n'); $implName = $pkg->getProperty('provider'); try { $rc = new ReflectionClass($implName); self::$impl = $rc->newInstance(); } catch(ReflectionException $re) { throw new ConfigurationException('i18n', 'provider', ($implName ? 'Cannot instantiate i18n provider ' . $$implName : 'i18n provider not set (provider option empty in i18n/.config)')); } } return self::$impl; }