Package | system.utils |
---|---|
Inheritance | class CPropertyValue |
Since | 1.0 |
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. | 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] == ')')
{
try
{
return eval('return array' . $value . ';');
}
catch (ParseError $e)
{
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 string is empty an empty array will be returned.
If the value is not a string then it will return an array containing that value or
the same value in case it is already an array.
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 && $value!=='' && is_numeric($value));
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.