Fala pessoal, tudo bom? Estamos de volta para falar de bibliotecas em PHP que são úteis no dia a dia. Uma coisa que sempre me deu trabalho ao desenvolver sistemas é a questão de conversão de medidas, já que alguns países por exemplo usam metros, outros milhas; o tamanho de sapatos também é algo que é diferente entre os países; as unidades de medidas de temperatura também; entre outros.
Hoje apresento para vocês a biblioteca crisu83/php-conversion uma biblioteca onde você pode converter várias métricas como: aceleração, ângulos, área, frequência, tamanho, força, tamanho de sapato, velocidade, volume, tamanho de chapéu, entre outros.
Vamos ver como a biblioteca funciona:
Criamos uma pasta conversion e instalamos a biblioteca pelo composer:
composer require crisu83/php-conversion

Vamos criar um exemplo de conversor de distância. Nomearemos como distance.php. No caso passaremos 999 metros como parâmetro.
<?php
require_once('vendor/autoload.php'); //autoload das classes
use Crisu83\Conversion\Quantity\Length\Length; //utilizando a classe Length
use Crisu83\Conversion\Quantity\Length\Unit as LengthUnit; //utitlizando a classe Unit
$length = new Length(999, LengthUnit::METRE); //criando uma variável com o valor 999 metros
echo $length . PHP_EOL; //exibe a variável em metros
echo $length->to(LengthUnit::FOOT) . PHP_EOL; //exibe a variável em pés
echo $length->to(LengthUnit::YARD) . PHP_EOL; //exibe a variável em jardas
echo $length->to(LengthUnit::MILE) . PHP_EOL; //exibe a variável em milhas
echo $length->to(LengthUnit::NAUTICAL_MILE) . PHP_EOL; //exibe a variável em milhas náuticas
Dando um distance.php temos:

Podemos fazer também um conversor de tamanho de sapato de crianças. Vamos usar como shoe.php
<?php
require_once('vendor/autoload.php'); //autoload das classes
use Crisu83\Conversion\Size\ShoeSize\ChildShoeSize; //utilizando a classe ChildShoeSize
use Crisu83\Conversion\Size\ShoeSize\System as ShoeSizeSystem; //utilizando a classe ShoeSizeSystem
$shoeSize = new ChildShoeSize(20, ShoeSizeSystem::EUROPEAN); //criando uma variável com o tamanho 36 na forma européia
echo $shoeSize . PHP_EOL;
echo $shoeSize->to(ShoeSizeSystem::AMERICAN) . PHP_EOL; //exibe a variável com o tamanho 36 na forma americana
echo $shoeSize->to(ShoeSizeSystem::BRITISH) . PHP_EOL; //exibe a variável com o tamanho 36 na forma britânica

O legal dessa biblioteca é que ela tem diversos tipos de conversores para você usar. Espero que ajude na conversão das diversas unidades de medidas. Um grande abraço e até a próxima.




