CPropertyValue
| 鍖 | system.utils |
|---|---|
| 缁ф壙 | class CPropertyValue |
| 婧愯嚜 | 1.0 |
| 鐗堟湰 | $Id: CPropertyValue.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
| 婧愮爜 | framework/utils/CPropertyValue.php |
CPropertyValue鏄竴涓姪鎵嬬被锛屽畠鎻愪緵浜嗕竴绯诲垪闈欐佹柟娉曚互杞崲缁勪欢鐨勫睘鎬у间负鎸囧畾鐨勭被鍨嬨
CPropertyValue閫氬父鐢ㄤ簬缁勪欢鐨剆etter鏂规硶锛屼互纭繚 璁剧疆鐨勫睘鎬у间负鎸囧畾鐨勭被鍨嬨 渚嬪锛屼竴涓竷灏斿瀷鐨勫睘鎬etter鏂规硶绫讳技涓嬮潰杩欐牱锛
灞炴у彲浠ユ槸涓嬪垪绫诲瀷锛屼互鍙婄浉搴旂殑绫诲瀷杞崲瑙勫垯锛
CPropertyValue閫氬父鐢ㄤ簬缁勪欢鐨剆etter鏂规硶锛屼互纭繚 璁剧疆鐨勫睘鎬у间负鎸囧畾鐨勭被鍨嬨 渚嬪锛屼竴涓竷灏斿瀷鐨勫睘鎬etter鏂规硶绫讳技涓嬮潰杩欐牱锛
public function setPropertyName($value)
{
$value=CPropertyValue::ensureBoolean($value);
// $value 鏄竴涓柊鐨勫竷灏斿肩被鍨嬪彉閲
}
灞炴у彲浠ユ槸涓嬪垪绫诲瀷锛屼互鍙婄浉搴旂殑绫诲瀷杞崲瑙勫垯锛
- string: 涓涓竷灏斿硷紝闇瑕佽浆鎹负'true' 鎴 'false'銆
- boolean: 瀛楃涓 'true' (澶у皬鍐欐晱鎰) 灏嗚浆鎹负true锛 瀛楃涓 'false' (澶у皬鍐欐晱鎰) 灏嗚浆鎹负false銆
- integer
- float
- array: 浠'('寮濮嬪苟涓斾互')'缁撴潫鐨勫瓧绗︿覆灏嗚璁や负鏄竴涓暟缁 骞惰璁$畻銆傚惁鍒欙紝涓涓互璇ュ瓧绗︿覆涓哄 鐨勬暟缁勫皢琚繑鍥炪
- object
- enum: 鏋氫妇绫诲瀷锛岄氳繃涓涓瓧绗︿覆鏁扮粍杩涜闄愬畾銆
鍏叡鏂规硶
| 鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
|---|---|---|
| ensureArray() | 灏嗕竴涓艰浆鎹负鏁扮粍鍨嬨傚鏋滄鍊兼槸涓涓瓧绗︿覆骞朵笖褰㈠ | CPropertyValue |
| ensureBoolean() | 灏嗕竴涓艰浆鎹负甯冨皵鍨嬨 | CPropertyValue |
| ensureEnum() | 灏嗕竴涓艰浆鎹负鏋氫妇鍨嬨 | CPropertyValue |
| ensureFloat() | 灏嗕竴涓艰浆鎹负娴偣鏁板瀷銆 | CPropertyValue |
| ensureInteger() | 灏嗕竴涓艰浆鎹负鏁存暟鍨嬨 | CPropertyValue |
| ensureObject() | 灏嗕竴涓艰浆鎹负瀵硅薄绫诲瀷銆 | CPropertyValue |
| ensureString() | 灏嗕竴涓艰浆鎹负瀛楃涓插瀷銆 | CPropertyValue |
鏂规硶璇︾粏
ensureArray()
鏂规硶
|
public static array ensureArray(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊 |
| {return} | array | |
婧愮爜锛 framework/utils/CPropertyValue.php#106 (鏄剧ず)
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;
}
灏嗕竴涓艰浆鎹负鏁扮粍鍨嬨傚鏋滄鍊兼槸涓涓瓧绗︿覆骞朵笖褰㈠ (a,b,c) 閭d箞灏嗚繑鍥炰竴涓暟缁勶紝姝ゆ暟缁勭敱缁欏畾瀛楃涓蹭腑鐨 鍏冪礌缁勬垚銆傚鏋滄鍊兼槸涓涓瓧绗︿覆骞朵笖瀹冪殑褰㈠紡涓庝笂涓嶅悓锛 閭d箞涓涓彧鍖呭惈浜嗘瀛楃涓茬殑鏁扮粍灏嗚杩斿洖銆傚鏋滄鍊间笉鏄 涓涓瓧绗︿覆閭d箞灏嗙洿鎺ヤ互PHP鏁扮粍杞崲骞惰繑鍥炪
ensureBoolean()
鏂规硶
|
public static boolean ensureBoolean(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊笺 |
| {return} | boolean | |
婧愮爜锛 framework/utils/CPropertyValue.php#54 (鏄剧ず)
public static function ensureBoolean($value)
{
if (is_string($value))
return !strcasecmp($value,'true') || $value!=0;
else
return (boolean)$value;
}
灏嗕竴涓艰浆鎹负甯冨皵鍨嬨 娉ㄦ剰锛氬瓧绗︿覆鈥渢rue鈥濓紙澶у皬鍐欐晱鎰燂級灏嗚杞崲涓簍rue锛 瀛楃涓测渢rue鈥濓紙澶у皬鍐欐晱鎰燂級灏嗚杞崲涓篺alse銆 濡傛灉涓涓瓧绗︿覆琛ㄧず浜嗕竴涓潪闆舵暟瀛楋紝瀹冨皢琚涓簍rue銆
ensureEnum()
鏂规硶
|
public static string ensureEnum(string $value, string $enumType)
| ||
| $value | string | 闇瑕侀獙璇佷负鏋氫妇鐨勫 |
| $enumType | string | 鏋氫妇绫荤殑鍚嶅瓧锛堢‘淇濆畠鍦ㄨ皟鐢ㄦ鏂规硶鍓嶅凡缁忚瀵煎叆锛夈 |
| {return} | string | 鏈夋晥鐨勬灇涓惧 |
婧愮爜锛 framework/utils/CPropertyValue.php#147 (鏄剧ず)
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()))));
}
灏嗕竴涓艰浆鎹负鏋氫妇鍨嬨
姝ゆ柟娉曢獙璇佹鍊兼槸鍚︿负鎸囧畾鐨勬灇涓剧被鍨嬨
涓涓悎娉曠殑鏋氫妇鍊兼槸鍦ㄦ寚瀹氱殑鏋氫妇绫诲瀷锛堢被锛
涓畾涔夌殑甯搁噺鍚嶃
鍙傝CEnumerable浠ヤ簡瑙f洿澶氬叧浜庢灇涓剧殑缁嗚妭銆
ensureFloat()
鏂规硶
|
public static float ensureFloat(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊笺 |
| {return} | float | |
婧愮爜锛 framework/utils/CPropertyValue.php#92 (鏄剧ず)
public static function ensureFloat($value)
{
return (float)$value;
}
灏嗕竴涓艰浆鎹负娴偣鏁板瀷銆
ensureInteger()
鏂规硶
|
public static integer ensureInteger(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊笺 |
| {return} | integer | |
婧愮爜锛 framework/utils/CPropertyValue.php#82 (鏄剧ず)
public static function ensureInteger($value)
{
return (integer)$value;
}
灏嗕竴涓艰浆鎹负鏁存暟鍨嬨
ensureObject()
鏂规硶
|
public static object ensureObject(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊笺 |
| {return} | object | |
婧愮爜锛 framework/utils/CPropertyValue.php#129 (鏄剧ず)
public static function ensureObject($value)
{
return (object)$value;
}
灏嗕竴涓艰浆鎹负瀵硅薄绫诲瀷銆
ensureString()
鏂规硶
|
public static string ensureString(mixed $value)
| ||
| $value | mixed | 闇瑕佽浆鎹㈢殑鍊笺 |
| {return} | string | |
婧愮爜锛 framework/utils/CPropertyValue.php#69 (鏄剧ず)
public static function ensureString($value)
{
if (is_bool($value))
return $value?'true':'false';
else
return (string)$value;
}
灏嗕竴涓艰浆鎹负瀛楃涓插瀷銆 娉ㄦ剰锛氫竴涓间负true鐨勫竷灏斿煎皢琚浆鎹负鈥渢rue鈥濓紝 鍊间负false鐨勫竷灏斿煎皢琚浆鎹负鈥渇alse鈥濄