javihgil / genderize-io-bundle
此包已被 废弃 且不再维护。未建议替代包。
将 GenderizerIoClient 库集成到 Symfony 中
v1.1.0
2017-12-21 14:44 UTC
Requires
- php: >=5.4
- javihgil/genderize-io-client: v1.1.0
- twig/twig: ~1.20
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.2.*
This package is auto-updated.
Last update: 2021-12-21 14:48:59 UTC
README
此包将 GenderizerIoClient 集成到 Symfony 项目中。
安装
- 使用 composer 安装包
composer require javihgil/genderize-io-bundle
- 将包添加到 appKernel.php
$bundles = array(
...
new Jhg\GenderizeIoBundle\GenderizeIoBundle()
);
配置
配置不是必需的(对于免费版本),但如果你有 API 密钥,可以使用最简单的配置
genderize_io: api_key: 'API_KEY_HERE'
对于更复杂的配置,例如缓存,可以使用以下配置
genderize_io: endpoint: "http://api.genderize.io/" api_key: 'API_KEY_HERE' cache: true cache_expiry_time: 7776000 # 90 days cache_handler: 'genderize_io.cache_handler_doctrine' # default
从控制器使用
/** @var Jhg\GenderizeIoClient\Model\Name $name */
$name = $this->get('genderizer')->recognize('John');
echo $name->getGender();
// shows "male"
从 twig 使用
{{ 'John' | gender }}
{# paints "male" #}
{{ 'John' | genderInCountry('gb') }}
{# paints "male" #}
{{ 'John' | genderInLanguage('en') }}
{# paints "male" #}
{# consider using default filter after gender function for unknown cases #}
{{ 'Unknown Name' | gender | default('no genre') }}
{# paints "no gerne" #}
{% if isMale('John') %}
{# do something for male #}
{% else isFemale('John') %}
{# do something for male #}
{% else %}
{# do something for unknown cases #}
{% endif %}