<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect1 id="zend.measure.introduction">

    <title>Introduction</title>

    <para>
        <classname>Zend_Measure_*</classname> classes provide a generic and easy way for working
        with measurements. Using <classname>Zend_Measure_*</classname> classes, you can convert
        measurements into different units of the same type. They can be added, subtracted and
        compared against each other. From a given input made in the user's native language, the unit
        of measurement can be automatically extracted. Numerous units of measurement are supported.
    </para>

    <example id="zend.measure.introduction.example-1">
        <title>Converting measurements</title>

        <para>
            The following introductory example shows automatic conversion of units of measurement.
            To convert a measurement, its value and its type have to be known. The value can be an
            integer, a float, or even a string containing a number. Conversions are only possible
            for units of the same type (mass, area, temperature, velocity, etc.), not between types.
        </para>

        <programlisting language="php"><![CDATA[
$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);
]]></programlisting>
    </example>

    <para>
        <classname>Zend_Measure_*</classname> includes support for many different units of
        measurement. The units of measurement all have a unified notation:
        <classname>Zend_Measure_&lt;TYPE&gt;::NAME_OF_UNIT</classname>, where &lt;TYPE&gt;
        corresponds to a well-known physical or numerical property. . Every unit of measurement
        consists of a conversion factor and a display unit. A detailed list can be found in the
        chapter <link linkend="zend.measure.types">Types of measurements</link>.
    </para>

    <example id="zend.measure.introduction.example-2">
        <title>The meter measurement</title>

        <para>
            The <emphasis>meter</emphasis> is used for measuring lengths, so its type constant can
            be found in the <classname>Length</classname> class. To refer to this unit of
            measurement, the notation <constant>Length::METER</constant> must be used. The display
            unit is <emphasis>m</emphasis>.
        </para>

        <programlisting language="php"><![CDATA[
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'
]]></programlisting>
    </example>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
