Yii Framework v1.1.10 Class Reference

CFormatter

Package system.utils
Inheritance class CFormatter » CApplicationComponent » CComponent
Implements IApplicationComponent
Since 1.1.0
Version $Id: CFormatter.php 3553 2012-02-06 22:07:58Z alexander.makarow $
Source Code framework/utils/CFormatter.php
CFormatter provides a set of commonly used data formatting methods.

The formatting methods provided by CFormatter are all named in the form of formatXyz. The behavior of some of them may be configured via the properties of CFormatter. For example, by configuring dateFormat, one may control how formatDate formats the value into a date string.

For convenience, CFormatter also implements the mechanism of calling formatting methods with their shortcuts (called types). In particular, if a formatting method is named formatXyz, then its shortcut method is xyz (case-insensitive). For example, calling $formatter->date($value) is equivalent to calling $formatter->formatDate($value).

Currently, the following types are recognizable:
  • raw: the attribute value will not be changed at all.
  • text: the attribute value will be HTML-encoded when rendering.
  • ntext: the formatNtext method will be called to format the attribute value as a HTML-encoded plain text with newlines converted as the HTML <br /> tags.
  • html: the attribute value will be purified and then returned.
  • date: the formatDate method will be called to format the attribute value as a date.
  • time: the formatTime method will be called to format the attribute value as a time.
  • datetime: the formatDatetime method will be called to format the attribute value as a date with time.
  • boolean: the formatBoolean method will be called to format the attribute value as a boolean display.
  • number: the formatNumber method will be called to format the attribute value as a number display.
  • email: the formatEmail method will be called to format the attribute value as a mailto link.
  • image: the formatImage method will be called to format the attribute value as an image tag where the attribute value is the image URL.
  • url: the formatUrl method will be called to format the attribute value as a hyperlink where the attribute value is the URL.


By default, CApplication registers CFormatter as an application component whose ID is 'format'. Therefore, one may call Yii::app()->format->boolean(1).

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
behaviors array the behaviors that should be attached to this component. CApplicationComponent
booleanFormat array the text to be displayed when formatting a boolean value. CFormatter
dateFormat string the format string to be used to format a date using PHP date() function. CFormatter
datetimeFormat string the format string to be used to format a date and time using PHP date() function. CFormatter
htmlPurifier CHtmlPurifier the HTML purifier instance CFormatter
isInitialized boolean Checks if this application component bas been initialized. CApplicationComponent
numberFormat array the format used to format a number with PHP number_format() function. CFormatter
timeFormat string the format string to be used to format a time using PHP date() function. CFormatter

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the format method when its shortcut is invoked. CFormatter
__get() Returns a property value, an event handler list or a behavior based on its name. CComponent
__isset() Checks if a property value is null. CComponent
__set() Sets value of a component property. CComponent
__unset() Sets a component property to be null. CComponent
asa() Returns the named behavior object. CComponent
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component. CComponent
attachEventHandler() Attaches an event handler to an event. CComponent
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
detachEventHandler() Detaches an existing event handler. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component. CComponent
evaluateExpression() Evaluates a PHP expression or callback under the context of this component. CComponent
format() Formats a value based on the given type. CFormatter
formatBoolean() Formats the value as a boolean. CFormatter
formatDate() Formats the value as a date. CFormatter
formatDatetime() Formats the value as a date and time. CFormatter
formatEmail() Formats the value as a mailto link. CFormatter
formatHtml() Formats the value as HTML text without any encoding. CFormatter
formatImage() Formats the value as an image tag. CFormatter
formatNtext() Formats the value as a HTML-encoded plain text and converts newlines with HTML br tags. CFormatter
formatNumber() Formats the value as a number using PHP number_format() function. CFormatter
formatRaw() Formats the value as is without any formatting. CFormatter
formatText() Formats the value as a HTML-encoded plain text. CFormatter
formatTime() Formats the value as a time. CFormatter
formatUrl() Formats the value as a hyperlink. CFormatter
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getHtmlPurifier() Returns the HTML purifier instance CFormatter
getIsInitialized() Checks if this application component bas been initialized. CApplicationComponent
hasEvent() Determines whether an event is defined. CComponent
hasEventHandler() Checks whether the named event has attached handlers. CComponent
hasProperty() Determines whether a property is defined. CComponent
init() Initializes the application component. CApplicationComponent
raiseEvent() Raises an event. CComponent

Property Details

booleanFormat property
public array $booleanFormat;

the text to be displayed when formatting a boolean value. The first element corresponds to the text display for false, the second element for true. Defaults to array('No', 'Yes').

dateFormat property
public string $dateFormat;

the format string to be used to format a date using PHP date() function. Defaults to 'Y/m/d'.

datetimeFormat property
public string $datetimeFormat;

the format string to be used to format a date and time using PHP date() function. Defaults to 'Y/m/d h:i:s A'.

htmlPurifier property read-only

the HTML purifier instance

numberFormat property
public array $numberFormat;

the format used to format a number with PHP number_format() function. Three elements may be specified: "decimals", "decimalSeparator" and "thousandSeparator". They correspond to the number of digits after the decimal point, the character displayed as the decimal point, and the thousands separator character.

timeFormat property
public string $timeFormat;

the format string to be used to format a time using PHP date() function. Defaults to 'h:i:s A'.

Method Details

__call() method
public mixed __call(string $name, array $parameters)
$name string the method name
$parameters array method parameters
{return} mixed the method return value
Source Code: framework/utils/CFormatter.php#85 (show)
public function __call($name,$parameters)
{
    if(
method_exists($this,'format'.$name))
        return 
call_user_func_array(array($this,'format'.$name),$parameters);
    else
        return 
parent::__call($name,$parameters);
}

Calls the format method when its shortcut is invoked. This is a PHP magic method that we override to implement the shortcut format methods.

format() method
public string format(mixed $value, string $type)
$value mixed the value to be formatted
$type string the data type. This must correspond to a format method available in CFormatter. For example, we can use 'text' here because there is method named formatText.
{return} string the formatted data
Source Code: framework/utils/CFormatter.php#100 (show)
public function format($value,$type)
{
    
$method='format'.$type;
    if(
method_exists($this,$method))
        return 
$this->$method($value);
    else
        throw new 
CException(Yii::t('yii','Unknown type "{type}".',array('{type}'=>$type)));
}

Formats a value based on the given type.

formatBoolean() method
public string formatBoolean(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#189 (show)
public function formatBoolean($value)
{
    return 
$value $this->booleanFormat[1] : $this->booleanFormat[0];
}

Formats the value as a boolean.

See Also

formatDate() method
public string formatDate(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#156 (show)
public function formatDate($value)
{
    return 
date($this->dateFormat,$value);
}

Formats the value as a date.

See Also

formatDatetime() method
public string formatDatetime(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#178 (show)
public function formatDatetime($value)
{
    return 
date($this->datetimeFormat,$value);
}

Formats the value as a date and time.

See Also

formatEmail() method
public string formatEmail(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#199 (show)
public function formatEmail($value)
{
    return 
CHtml::mailto($value);
}

Formats the value as a mailto link.

formatHtml() method
public string formatHtml(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#145 (show)
public function formatHtml($value)
{
    return 
$this->getHtmlPurifier()->purify($value);
}

Formats the value as HTML text without any encoding.

formatImage() method
public string formatImage(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#209 (show)
public function formatImage($value)
{
    return 
CHtml::image($value);
}

Formats the value as an image tag.

formatNtext() method
public string formatNtext(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#135 (show)
public function formatNtext($value)
{
    return 
nl2br(CHtml::encode($value));
}

Formats the value as a HTML-encoded plain text and converts newlines with HTML br tags.

formatNumber() method
public string formatNumber(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#233 (show)
public function formatNumber($value)
{
    return 
number_format($value,$this->numberFormat['decimals'],$this->numberFormat['decimalSeparator'],$this->numberFormat['thousandSeparator']);
}

Formats the value as a number using PHP number_format() function.

See Also

formatRaw() method
public string formatRaw(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#115 (show)
public function formatRaw($value)
{
    return 
$value;
}

Formats the value as is without any formatting. This method simply returns back the parameter without any format.

formatText() method
public string formatText(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#125 (show)
public function formatText($value)
{
    return 
CHtml::encode($value);
}

Formats the value as a HTML-encoded plain text.

formatTime() method
public string formatTime(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#167 (show)
public function formatTime($value)
{
    return 
date($this->timeFormat,$value);
}

Formats the value as a time.

See Also

formatUrl() method
public string formatUrl(mixed $value)
$value mixed the value to be formatted
{return} string the formatted result
Source Code: framework/utils/CFormatter.php#219 (show)
public function formatUrl($value)
{
    
$url=$value;
    if(
strpos($url,'http://')!==&& strpos($url,'https://')!==0)
        
$url='http://'.$url;
    return 
CHtml::link(CHtml::encode($value),$url);
}

Formats the value as a hyperlink.

getHtmlPurifier() method
public CHtmlPurifier getHtmlPurifier()
{return} CHtmlPurifier the HTML purifier instance
Source Code: framework/utils/CFormatter.php#241 (show)
public function getHtmlPurifier()
{
    if(
$this->_htmlPurifier===null)
        
$this->_htmlPurifier=new CHtmlPurifier;
    return 
$this->_htmlPurifier;
}

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.