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.