Yii2 Extension hổ trợ bạn chuyển đổi số sang chữ số.
Chuyển đổi số sang chữ số là một phần không thể thiếu khi xây dựng chức năng in hóa đơn hoặc các chức năng liên quan đến báo cáo, kê khai. Chính vì thế mà extension này được xây dựng nên để cung cấp cho bạn tính năng chuyển đổi số sang chữ số một cách đơn giản nhất và có thể tái sử dụng trên nhiều thuộc tính.
Cài đặt thông qua composer
nếu như đó là một khái niệm mới với bạn xin click vào
đây để tìm hiểu nó.
composer require "yiiviet/yii2-n2w"
hoặc thêm
"yiiviet/yii2-n2w": "*"
vào phần require
trong file composer.json.
Extension này là một behavior
hổ trợ cho tất cả các components
của yii2
nên để sử dụng nó thì bạn phải khái báo nó vào bên trong phương thức
behaviors
của component
(model, active record...).
Ví dụ:
/**
* @property int $amount
*/
class Order extends ActiveRecord {
public function behaviors() {
return [
'n2w' => [
'class' => 'yiiviet\n2w\Behavior',
'property' => 'amount',
'unit' => 'đồng'
]
];
}
}
$order = Order::findOne(1);
print $order->amount; // 100000
print $order->amountFormat; // Một trăm ngàn đồng
Như bạn thấy sau khi khai báo attribute amount
vào property
thì ngay
lập tức bạn có thể sử dụng attribute amountFormat
để chuyển đổi số
sang chữ số mà không cần khai báo gì thêm.
Cách khai báo nhiều thuộc tính cùng lúc:
/**
* @property int $amount
* @property int $tax
*/
class Order extends ActiveRecord {
public function behaviors() {
return [
'n2w' => [
'class' => 'yiiviet\n2w\Behavior',
'properties' => ['amount', 'tax'],
'unit' => 'đồng'
]
];
}
}
$order = Order::findOne(1);
print $order->amount; // 100000
print $order->amountFormat; // Một trăm ngàn đồng
print $order->tax; // 10000
print $order->taxFormat; // Mười ngàn đồng
Nếu như bạn muốn sửa suffix
thành một chuỗi khác thì khai báo như sau:
/**
* @property int $amount
* @property int $tax
*/
class Order extends ActiveRecord {
public function behaviors() {
return [
'n2w' => [
'class' => 'yiiviet\n2w\Behavior',
'properties' => ['amount', 'tax'],
'unit' => 'đồng',
'suffix' => 'Convert'
]
];
}
}
$order = Order::findOne(1);
print $order->amount; // 100000
print $order->amountConvert; // Một trăm ngàn đồng
print $order->tax; // 10000
print $order->taxConvert; // Mười ngàn đồng