Back-End

24 ago, 2018

Convertendo diversos tipos de métricas com PHP Conversion

Publicidade

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.