pupitooo/bank
PHP脚本支持货币
v1.0.1
2014-03-27 10:12 UTC
Requires
- php: >=5.3.0
- kdyby/curl: @dev
- nette/nette: >=2.1
- pupitooo/helpers: @dev
- pupitooo/objects: @dev
This package is not auto-updated.
Last update: 2024-09-28 15:34:11 UTC
README
Bank是一个支持货币的PHP脚本。这个扩展适用于Nette框架2.1及以上版本。
要求
Pupitooo\Bank需要PHP 5.3.2或更高版本。
安装
安装Pupitooo/Bank的最佳方式是使用Composer
$ composer require pupitooo/bank:@dev
NEON配置示例
services:
- Pto\Bank\Storages\Storage
- Nette\Http\SessionSection(@session, 'bank')
bank:
class: Pto\Bank\Bank
setup:
- loadCurrency('EUR', NULL, {mask: '1 S', thousand: ' ', point: ',', zeroClear: FALSE, decimal: 2, symbol: € })
- loadCurrency('CZK', NULL, {mask: '1 S', thousand: ' ', point: ',', zeroClear: FALSE, decimal: 2, symbol: Kč})
- loadCurrency('USD')
Nette 2.1使用示例
在演示者中
/** @var \Pto\Bank\Bank @inject */
public $bank;
protected function startup()
{
parent::startup();
$bank = $this->bank;
$bank->setDownload(\Pto\Bank\Bank::DOWNLOAD_METHOD_CNB);
$bank->loadCurrency("CZK")
->setRate(27.8);
$bank->loadCurrency("USD", NULL)
->setProfil(array('mask' => 'S 1', 'thousand' => ',', 'point' => '.', 'zeroClear' => FALSE, 'decimal' => 2, 'symbol' => '$'));
$bank->loadCurrency("GBP", NULL, array('mask' => 'S 1', 'thousand' => ',', 'point' => '.', 'zeroClear' => FALSE, 'decimal' => 2, 'symbol' => '£'));
}
public function actionDefault()
{
$bank = $this->bank;
Nette\Diagnostics\Debugger::barDump($bank->change(1, "EUR", "CZK"));
Nette\Diagnostics\Debugger::barDump($bank->change(1, "EUR", "GBP"));
Nette\Diagnostics\Debugger::barDump($bank->change(1, "EUR", "HUF"));
Nette\Diagnostics\Debugger::barDump($bank->format(1, "EUR"));
Nette\Diagnostics\Debugger::barDump($bank->format(1, "EUR", "CZK"));
Nette\Diagnostics\Debugger::barDump($bank->format(1, "EUR", "USD"));
Nette\Diagnostics\Debugger::barDump($bank->format(1, "EUR", "GBP"));
\Nette\Diagnostics\Debugger::barDump($bank->getDefault());
\Nette\Diagnostics\Debugger::barDump($bank->getActualRate("EUR"));
\Nette\Diagnostics\Debugger::barDump($bank->getActualRate("CZK"));
\Nette\Diagnostics\Debugger::barDump($bank->getActualRate("GBP"));
\Nette\Diagnostics\Debugger::barDump($bank->getActualRate("USD"));
\Nette\Diagnostics\Debugger::barDump($bank->getActualRate("HUF"));
}
在Latte中
{1|currency} = {1|currencyTo:"EUR"}
{1|currency} = {1|currencyTo:"CZK"}
{1|currency} = {1|currencyTo:"USD"}
{1|currency} = {1|currencyTo:"GBP"}
{1|currency:"CZK"} = {1|currency:"CZK":"EUR"}
{1|currency:"USD"} = {1|currency:"USD":"EUR"}
{1|currency:"GBP"} = {1|currency:"GBP":"USD"}