1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 
	<?php
namespace ICanBoogie\I18n;
use ICanBoogie\PropertyNotDefined;
class FormattedString
{
    protected $format;
    protected $args;
    protected $options;
    
    public function __construct($format, $args=null, array $options=array())
    {
        if (!is_array($args))
        {
            $args = func_get_args();
            array_shift($args);
            $options = array();
        }
        $this->format = $format;
        $this->args = (array) $args;
        $this->options = $options;
    }
    public function __get($property)
    {
        switch ($property)
        {
            case 'format': return $this->format;
            case 'args': return $this->args;
            case 'options': return $this->options;
        }
        throw new PropertyNotDefined(array($property, $this));
    }
    
    public function __toString()
    {
        return t($this->format, $this->args, $this->options);
    }
}
namespace ICanBoogie;
class FormattedString extends I18n\FormattedString
{
}