Zend_Measure

Introduction

Les classes Zend_Measure_* fournissent un moyen générique et facile de travailler avec les mesures. En utilisant des classes de Zend_Measure_*, vous pouvez convertir des mesures en différentes unités du même type. Elles peuvent être ajoutées, soustraites et comparées les uns contre les autres. À partir d'une entrée donnée faite dans la langue maternelle de l'utilisateur, l'unité de la mesure peut être automatiquement extraite. Des unités de mesure supportées sont nombreuses.

Example #1 Convertir des mesures

L'exemple d'introduction suivant montre la conversion automatique des unités de mesure. Pour convertir une mesure, sa valeur et son type doivent être connus. La valeur peut être un nombre entier, un nombre à virgule flottante ("float"), ou même une chaîne contenant un nombre. Les conversions sont seulement possibles aux unités du même type (la masse, secteur, température, vitesse, etc.), pas entre les types.

  1. $locale = new Zend_Locale('en');
  2. $unit = new Zend_Measure_Length(100,
  3.                                 Zend_Measure_Length::METER,
  4.                                 $locale);
  5.  
  6. // Converti les mètres en yards
  7. echo $unit->convertTo(Zend_Measure_Length::YARD);

Zend_Measure_* inclut le support de beaucoup de différentes unités de mesure. Toutes les unités de mesure ont une notation unifiée : Zend_Measure_<TYPE>::NAME_OF_UNIT, où <TYPE> correspond à une propriété physique ou numérique bien connue. Chaque unité de mesure se compose d'un facteur de conversion et d'une unité de visualisation. Une liste détaillée peut être trouvée dans le chapitre des types de mesures.

Example #2 La mesure de la longueur

Le mètre est utilisé pour mesurer des longueurs, ainsi son type constante peut être trouvé dans la classe des longueurs. Pour se rapporter à cette unité de mesure, la notation Length::METER doit être utilisée. L'unité de visualisation est m.

  1. echo Zend_Measure_Length::STANDARD;
  2. // affiche 'Length::METER'
  3. echo Zend_Measure_Length::KILOMETER;
  4. // affiche 'Length::KILOMETER'
  5.  
  6. $unit = new Zend_Measure_Length(100,'METER');
  7. echo $unit;
  8. // affiche '100 m'

Zend_Measure