Yii Framework v1.1.10 绫诲弬鑰

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鏂规硶绫讳技涓嬮潰杩欐牱锛
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 >= && $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鈥濄

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