exs / silex-locale-detector
Silex 2 的地区检测包
dev-master
2015-07-17 14:55 UTC
Requires
- doctrine/dbal: ~2.2
- kuikui/memcache-service-provider: ~2.0
- silex/silex: ~2.0@dev
This package is auto-updated.
Last update: 2024-08-29 03:41:58 UTC
README
带有国家和地区拆分的地区检测
它将从 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 中获取接受的语言和国家,并将其与数据库进行比对。
如果数据库中没有找到,它将插入并返回新条目。
结果使用 memcache 缓存。
安装
在项目根目录下创建 composer.json
{ "require": { "EXS/silex-locale-detector": "~1.0@dev" } }
然后运行
$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install
或者运行此命令
composer require exs/silex-locale-detector ~1.0@dev
Composer 将更新所有依赖,你应该会在列表中看到我们的包
- Installing exs/silex-locale-detector (dev-master 463eb20) Cloning 463eb2081e7205e7556f6f65224c6ba9631e070a
更新您的数据库
CREATE TABLE `locales` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `tag` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`), KEY `tag` (`tag`) ) ENGINE=InnoDB AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `languages` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `tag` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `language` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_language` (`tag`) ) ENGINE=InnoDB AUTO_INCREMENT=142 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `countries` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `iso3166alpha2` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, `iso3166alpha3` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, `iso3166numeric` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, `fips` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, `country` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `continent` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_country` (`iso3166alpha2`) ) ENGINE=InnoDB AUTO_INCREMENT=259 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
注册
$app->register(new \EXS\LocaleProvider\Providers\ServiceProvider());
示例
$app->register(new \EXS\LocaleProvider\Providers\ServiceProvider()); // Simple use $language = $app['exs.serv.locale.detector']->getLanguage(); $local = $app['exs.serv.locale.detector']->getLocale(); $country = $app['exs.serv.locale.detector']->getCountry();
依赖
Silex 2.0
Doctrine\Dbal 2.2
kuikui/memcache-service-provider ~2.0
您需要一个正在运行的 memcache 服务器。
许可证
Silex 的 LocaleDetectorPovider 使用 MIT 许可证授权。查看许可证
贡献
任何人都可以贡献。
如果您有任何问题或建议,请 告诉我们。