Subversion Repositories php-qbpwcf

Rev

Rev 350 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 350 Rev 396
Line 1567... Line 1567...
1567
	#$conf["disallowAllSkipableVarIsEmptyArray"]="";
1567
	#$conf["disallowAllSkipableVarIsEmptyArray"]="";
1568
	#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
1568
	#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
1569
	#$conf["disallowAllSkipableVarNotExist"]="";
1569
	#$conf["disallowAllSkipableVarNotExist"]="";
1570
	#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1570
	#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1571
	#$conf["arrayCountEqualCheck"][]=array();
1571
	#$conf["arrayCountEqualCheck"][]=array();
-
 
1572
	#$conf["arrayCount"],字串陣列,為檢查指定的陣列參數,其元素數量要為多少,預設不指定.
-
 
1573
	#$conf["arrayCount"][]=array("variableName",$elementCount);
1572
	#參考資料:
1574
	#參考資料:
1573
	#array_keys=>http://php.net/manual/en/function.array-keys.php
1575
	#array_keys=>http://php.net/manual/en/function.array-keys.php
1574
	#備註:
1576
	#備註:
1575
	#無.
1577
	#無.
1576
	*/
1578
	*/
Line 1774... Line 1776...
1774
		#$result["passed"],參數是否都通過檢查,"true",代表有通過檢查,"false"代表沒有通過檢查。
1776
		#$result["passed"],參數是否都通過檢查,"true",代表有通過檢查,"false"代表沒有通過檢查。
1775
		#必填參數:
1777
		#必填參數:
1776
		#$conf["variableCheck.checkSkipableVarType"]["checkedVar"],陣列,要檢查的變數陣列名稱為?
1778
		#$conf["variableCheck.checkSkipableVarType"]["checkedVar"],陣列,要檢查的變數陣列名稱為?
1777
		$conf["variableCheck.checkSkipableVarType"]["checkedVar"]=$conf;
1779
		$conf["variableCheck.checkSkipableVarType"]["checkedVar"]=$conf;
1778
		#$conf["variableCheck.checkSkipableVarType"]["sikpableVarNameArray"],字串陣列,要檢查型態是否設定正確的變數名稱陣列.
1780
		#$conf["variableCheck.checkSkipableVarType"]["sikpableVarNameArray"],字串陣列,要檢查型態是否設定正確的變數名稱陣列.
1779
		$conf["variableCheck.checkSkipableVarType"]["sikpableVarNameArray"]=array("mustBeFilledVariableName","mustBeFilledVariableType","canBeEmptyString","canNotBeEmpty","canBeEmpty","skipableVariableCanNotBeEmpty","skipableVariableName","skipableVariableType","skipableVarDefaultValue","arrayCountEqualCheck","disallowAllSkipableVarIsEmpty","disallowAllSkipableVarNotExist","disallowAllSkipableVarIsEmptyArray");
1781
		$conf["variableCheck.checkSkipableVarType"]["sikpableVarNameArray"]=array("mustBeFilledVariableName","mustBeFilledVariableType","canBeEmptyString","canNotBeEmpty","canBeEmpty","skipableVariableCanNotBeEmpty","skipableVariableName","skipableVariableType","skipableVarDefaultValue","arrayCountEqualCheck","disallowAllSkipableVarIsEmpty","disallowAllSkipableVarNotExist","disallowAllSkipableVarIsEmptyArray","arrayCount");
1780
		#$argu,要直接存取的陣列變數名稱,變數前面加上「&」,如果要在別的函式裡面使用本函式,請記得將變動過結果($argu)給使用該函式的設定變數(通常是$conf=$argu).
1782
		#$argu,要直接存取的陣列變數名稱,變數前面加上「&」,如果要在別的函式裡面使用本函式,請記得將變動過結果($argu)給使用該函式的設定變數(通常是$conf=$argu).
1781
		$argu=&$conf;
1783
		$argu=&$conf;
1782
		#可省略參數:
1784
		#可省略參數:
1783
		#$conf["variableCheck.checkSkipableVarType"]["skipableVarTypeArray"],字串陣列,要檢查的每個變數,其型態應該要為何?
1785
		#$conf["variableCheck.checkSkipableVarType"]["skipableVarTypeArray"],字串陣列,要檢查的每個變數,其型態應該要為何?
1784
		$conf["variableCheck.checkSkipableVarType"]["skipableVarTypeArray"]=array("array","array","string","array","array","array","array","array","array","array","string","string","string");
1786
		$conf["variableCheck.checkSkipableVarType"]["skipableVarTypeArray"]=array("array","array","string","array","array","array","array","array","array","array","string","string","string","array");
1785
		#$conf["variableCheck.checkSkipableVarType"]["skipableVarDefaultValue"],字串陣列,每個不存的變數要初始化為什麼,"null"代表不指定.
1787
		#$conf["variableCheck.checkSkipableVarType"]["skipableVarDefaultValue"],字串陣列,每個不存的變數要初始化為什麼,"null"代表不指定.
1786
		$conf["variableCheck.checkSkipableVarType"]["skipableVarDefaultValue"]=array(null,null,"true",null,null,null,null,null,null,null,"false","false","false");
1788
		$conf["variableCheck.checkSkipableVarType"]["skipableVarDefaultValue"]=array(null,null,"true",null,null,null,null,null,null,null,"false","false","false",null);
1787
		$checkResult=variableCheck::checkSkipableVarType($conf["variableCheck.checkSkipableVarType"],$argu);
1789
		$checkResult=variableCheck::checkSkipableVarType($conf["variableCheck.checkSkipableVarType"],$argu);
1788
		unset($conf["variableCheck.checkSkipableVarType"]);
1790
		unset($conf["variableCheck.checkSkipableVarType"]);
1789
 
1791
 
1790
		#如果檢查失敗
1792
		#如果檢查失敗
1791
		if($checkResult["status"]=="false"){
1793
		if($checkResult["status"]=="false"){
Line 3707... Line 3709...
3707
 
3709
 
3708
				}#if end
3710
				}#if end
3709
 
3711
 
3710
			}#if end
3712
			}#if end
3711
 
3713
 
-
 
3714
		#如果有設置 arrayCount 參數
-
 
3715
		if(isset($conf["arrayCount"])){
-
 
3716
		
-
 
3717
			#針對每個 arrayCount 參數的元素
-
 
3718
			foreach($conf["arrayCount"] as $index => $info){
-
 
3719
			
-
 
3720
				#如果元素不為陣列
-
 
3721
				if(gettype($info)!=="array"){
-
 
3722
				
-
 
3723
					#設置執行正常
-
 
3724
					$result["status"]="true";
-
 
3725
 
-
 
3726
					#設置檢查不通過
-
 
3727
					$result["passed"]="false";
-
 
3728
 
-
 
3729
					#設置執行錯誤訊息
-
 
3730
					$result["error"][]="number of element of arrayCount of parmas should be 2";
-
 
3731
					
-
 
3732
					#回傳結果
-
 
3733
					return $result;
-
 
3734
				
-
 
3735
					}#if end
-
 
3736
			
-
 
3737
				#取得變數名稱
-
 
3738
				$varName=$info[0];
-
 
3739
				
-
 
3740
				#取得元素的規定數量
-
 
3741
				$elementCount=$info[1];
-
 
3742
				
-
 
3743
				#如果要求檢查元素數量的陣列參數不存在
-
 
3744
				if(!isset($conf["arrayCount"][$varName])){
-
 
3745
				
-
 
3746
					#設置執行正常
-
 
3747
					$result["status"]="true";
-
 
3748
 
-
 
3749
					#設置檢查不通過
-
 
3750
					$result["passed"]="false";
-
 
3751
 
-
 
3752
					#設置執行錯誤訊息
-
 
3753
					$result["error"][]="params of ".$varName." to check element count not found";
-
 
3754
					
-
 
3755
					#回傳結果
-
 
3756
					return $result;
-
 
3757
				
-
 
3758
					}#if end
-
 
3759
					
-
 
3760
				#如果要檢查的變數不為陣列
-
 
3761
				if(gettype($conf["arrayCount"][$varName])==="array"){
-
 
3762
				
-
 
3763
					#設置執行正常
-
 
3764
					$result["status"]="true";
-
 
3765
 
-
 
3766
					#設置檢查不通過
-
 
3767
					$result["passed"]="false";
-
 
3768
 
-
 
3769
					#設置執行錯誤訊息
-
 
3770
					$result["error"][]="params of ".$varName." to check element count should be array";
-
 
3771
					
-
 
3772
					#回傳結果
-
 
3773
					return $result;
-
 
3774
				
-
 
3775
					}#if end
-
 
3776
			
-
 
3777
				#如果陣列參數的元素數量不為 $elementCount
-
 
3778
				if(count($conf["arrayCount"][$varName])!==$elementCount){
-
 
3779
				
-
 
3780
					#設置執行正常
-
 
3781
					$result["status"]="true";
-
 
3782
 
-
 
3783
					#設置檢查不通過
-
 
3784
					$result["passed"]="false";
-
 
3785
 
-
 
3786
					#設置執行錯誤訊息
-
 
3787
					$result["error"][]="element count of params of ".$varName." should be ".$elementCount;
-
 
3788
					
-
 
3789
					#回傳結果
-
 
3790
					return $result;
-
 
3791
				
-
 
3792
					}#if end
-
 
3793
			
-
 
3794
				}#foreach end
-
 
3795
			
-
 
3796
			}#if end
-
 
3797
 
3712
		#設置執行正常
3798
		#設置執行正常
3713
		$result["status"]="true";
3799
		$result["status"]="true";
3714
 
3800
 
3715
		#設置錯誤識別
3801
		#設置錯誤識別
3716
		$result["passed"]="true";
3802
		$result["passed"]="true";