Tabla de contenidos
Las clases Zend_Measure_* proporcionan una forma genérica y
sencilla de trabajar con medidas. Utilizando las clases Zend_Measure_*,
puede convertir medidas a diferentes unidades del mismo tipo. Se pueden sumar,
restar y comparar entre sí. A partir de una entrada dada en el idioma nativo
del usuario, la unidad de medida se puede extraer automáticamente. Se admiten
numerosas unidades de medida.
Ejemplo 47.1. Convirtiendo medidas
El siguiente ejemplo introductorio muestra la conversión automática de unidades de medida. Para convertir una medida, se deben conocer su valor y su tipo. El valor puede ser un entero, un flotante, o incluso una cadena que contenga un número. Las conversiones solo son posibles entre unidades del mismo tipo (masa, área, temperatura, velocidad, etc.), no entre tipos.
$locale = new Zend_Locale('en');
$unit = new Zend_Measure_Length(100, Zend_Measure_Length::METER, $locale);
// Convert meters to yards
echo $unit->convertTo(Zend_Measure_Length::YARD);
Zend_Measure_* incluye soporte para muchas unidades de
medida diferentes. Todas las unidades de medida tienen una notación
unificada: Zend_Measure_<TYPE>::NAME_OF_UNIT, donde
<TYPE> corresponde a una propiedad física o numérica conocida. Cada
unidad de medida consta de un factor de conversión y una unidad de
presentación. Puede encontrarse una lista detallada en el capítulo
Tipos de medidas.
Ejemplo 47.2. La medida del metro
El metro se utiliza para medir longitudes, por lo que su
constante de tipo se puede encontrar en la clase Length. Para
referirse a esta unidad de medida, debe usarse la notación
Length::METER. La unidad de presentación es
m.
echo Zend_Measure_Length::STANDARD; // outputs 'Length::METER' echo Zend_Measure_Length::KILOMETER; // outputs 'Length::KILOMETER' $unit = new Zend_Measure_Length(100,'METER'); echo $unit; // outputs '100 m'