ageekdev / laravel-num
To convert the unicode digit to another unicode digit.
Requires
- php: ^8.1
- illuminate/support: ^9.0|^10.0|^11.0
Requires (Dev)
- larastan/larastan: ^2.0
- laravel/pint: ^1.5
- orchestra/testbench: ^7.31|^8.11|^9.0
- pestphp/pest: ^1.21|^2.0
- pestphp/pest-plugin-laravel: ^1.4|^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- roave/security-advisories: dev-latest
README
To convert the unicode digit to another unicode digit.
Supported languages
By default, You can convert english, myanmar and thai numbers.
If you would like to add more, you can add zero unicode characters
at config/num.php.
You can see more zero unicode character
at zero-unicode.md.
Installation
You can install this package via composer using this command:
composer require ageekdev/laravel-num
The package will automatically register itself.
Publish configuration and asset files
php artisan vendor:publish --provider="AgeekDev\Num\NumServiceProvider"
Usage
Using the facade
Direct convert from the english number to the myanmar number
Num::convert('1234๑๒๓๔','mm','en'); // ၁၂၃၄๑๒๓๔
Convert to the myanmar number
Num::toMyanmar('1234๑๒๓๔'); // ၁၂၃၄၁၂၃၄
Convert to the thai number
Num::toThai('1234'); // ๑๒๓๔
Convert to the english number
Num::toEnglish('၁၂၃၄'); // 1234
Using with Helpers
Convert to the myanmar number
num_to_mm('1234'); // ၁၂၃၄
Convert to the thai number
num_to_th('1234'); // ๑๒๓๔
Convert to the english number
num_to_eng('၁၂၃၄'); // 1234
Macro
The Laravel Num allows you to define "macros", which can serve as a fluent, expressive mechanism to configure string, to language and from language when interacting with services throughout your application. To get started, you may define the macro within the boot method of your application's App\Providers\AppServiceProvider class:
use AgeekDev\Num\Facades\Num; /** * Bootstrap any application services. * * @return void */ public function boot() { Num::macro('toMyanmarShan', function (int|string|null $string, string $from = null) { return Num::convert($string, 'shan', $from); }); }
Once your macro has been configured, you may invoke it from anywhere in your application to convert numbers with the specified configuration:
$numbers = Num::toMyanmarShan('1234567890'); // ႑႒႓႔႕႖႗႘႙႐
Note If convert language don't have in num.php, you may configure this language in your num configuration file.
'zeros' => [ 'en' => 0, 'mm' => '၀', 'th' => '๐', 'shan' => '႐' ],
Testing
You can run the tests with:
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.