luxifer / currency-manager
简单、轻量级的货币管理器
0.3.0
2015-10-22 13:17 UTC
Requires
- doctrine/collections: ~1.0
- jms/serializer: *
README
这个库旨在成为一个简单轻量级的货币管理器。它包含一个JSON文件,其中包含几乎所有货币的定义。使用这个库,您可以通过一些字段查找货币,并在项目中使用这些定义。此库需要 jms/serializer
来工作。
安装
composer require luxifer/currency-manager
使用
<?php require 'vendor/autoload.php'; $serializer = JMS\Serializer\SerializerBuilder::create()->build(); $manager = new Luxifer\Manager\CurrencyManager($serializer); $euro = $manager->getCurrencyBy('code', 'EUR'); // Luxifer\Model\Currency
序列化
此库为 jms\serializer
提供了一个新的处理器来处理从 Currency
进行序列化和反序列化。
<?php $serializer->configureHandlers(function(JMS\Serializer\Handler\HandlerRegistry $registry) use ($manager) { $registry->registerSubscribingHandler(new Luxifer\Handler\CurrencyHandler($manager)); });
现在您可以在对象内部将 Currency
作为 Type
使用。
<?php use JMS\Serializer\Annotation\Type; class MyObject { /** * @Type("Currency") * * will serialize to the currency ISO code */ protected $currency; /** * @Type("Currency<'symbol'>") * * will serialize to the currency symbol */ protected $symbol; }
感谢
我要感谢 @Fluidbyte,他在 gist 上发布了初始货币列表。