Package | system.utils |
---|---|
Inheritance | class CPropertyValue |
Since | 1.0 |
Version | $Id$ |
Source Code | framework/utils/CPropertyValue.php |
public function setPropertyName($value) { $value=CPropertyValue::ensureBoolean($value); // $value is now of boolean type }
Method | Description | Defined By |
---|---|---|
ensureArray() | Converts a value to array type. If the value is a string and it is | CPropertyValue |
ensureBoolean() | Converts a value to boolean type. | CPropertyValue |
ensureEnum() | Converts a value to enum type. | CPropertyValue |
ensureFloat() | Converts a value to float type. | CPropertyValue |
ensureInteger() | Converts a value to integer type. | CPropertyValue |
ensureObject() | Converts a value to object type. | CPropertyValue |
ensureString() | Converts a value to string type. | CPropertyValue |
public static array ensureArray(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | array |
public static function ensureArray($value)
{
if(is_string($value))
{
$value = trim($value);
$len = strlen($value);
if ($len >= 2 && $value[0] == '(' && $value[$len-1] == ')')
{
eval('$array=array'.$value.';');
return $array;
}
else
return $len>0?array($value):array();
}
else
return (array)$value;
}
Converts a value to array type. If the value is a string and it is in the form (a,b,c) then an array consisting of each of the elements will be returned. If the value is a string and it is not in this form then an array consisting of just the string will be returned. If the value is not a string then
public static boolean ensureBoolean(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | boolean |
public static function ensureBoolean($value)
{
if (is_string($value))
return !strcasecmp($value,'true') || $value!=0;
else
return (boolean)$value;
}
Converts a value to boolean type. Note, string 'true' (case-insensitive) will be converted to true, string 'false' (case-insensitive) will be converted to false. If a string represents a non-zero number, it will be treated as true.
public static string ensureEnum(string $value, string $enumType)
| ||
$value | string | the enumerable value to be checked. |
$enumType | string | the enumerable class name (make sure it is included before calling this function). |
{return} | string | the valid enumeration value |
public static function ensureEnum($value,$enumType)
{
static $types=array();
if(!isset($types[$enumType]))
$types[$enumType]=new ReflectionClass($enumType);
if($types[$enumType]->hasConstant($value))
return $value;
else
throw new CException(Yii::t('yii','Invalid enumerable value "{value}". Please make sure it is among ({enum}).',
array('{value}'=>$value, '{enum}'=>implode(', ',$types[$enumType]->getConstants()))));
}
Converts a value to enum type.
This method checks if the value is of the specified enumerable type.
A value is a valid enumerable value if it is equal to the name of a constant
in the specified enumerable type (class).
For more details about enumerable, see CEnumerable.
public static float ensureFloat(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | float |
public static function ensureFloat($value)
{
return (float)$value;
}
Converts a value to float type.
public static integer ensureInteger(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | integer |
public static function ensureInteger($value)
{
return (integer)$value;
}
Converts a value to integer type.
public static object ensureObject(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | object |
public static function ensureObject($value)
{
return (object)$value;
}
Converts a value to object type.
public static string ensureString(mixed $value)
| ||
$value | mixed | the value to be converted. |
{return} | string |
public static function ensureString($value)
{
if (is_bool($value))
return $value?'true':'false';
else
return (string)$value;
}
Converts a value to string type. Note, a boolean value will be converted to 'true' if it is true and 'false' if it is false.
Signup or Login in order to comment.