Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 638 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 638 Rev 709
Line 29... Line 29...
29
require_once("qbpwcf/allInOneForJson.php");
29
require_once("qbpwcf/allInOneForJson.php");
30
 
30
 
31
#建議的log位置
31
#建議的log位置
32
$logFile=$_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"].".log";
32
$logFile=$_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"].".log";
33
 
33
 
34
#函式說明:
34
#要使用的範例name
35
#提供post的變數查尋定義檔,給予回應.
35
#$nameOfSample="initial";
36
#回傳結果:
36
$nameOfSample="20240317";
-
 
37
 
37
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
38
#存放範例的資料夾
38
#$result["error"],錯誤訊息陣列.
39
$sampleFolder="config::server";
-
 
40
 
39
#$result["function"],當前執行的函數名稱.
41
#設置測試案例的檔案名稱與路徑
40
#$result["founded"],"true"代表有找到定義,"false"代表沒有找到定義.
-
 
41
#$result["content"],定義對應的內容.
42
$fileNameOfSample=$sampleFolder."/".$nameOfSample.".php";
-
 
43
 
42
#必填參數:
44
#初始化儲存範例代碼
43
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
-
 
44
$conf["fileArgu"]=__FILE__;
45
$samples=array();
-
 
46
 
45
#$conf["configFileAddr"],字串,定義檔位置與名稱
47
#增加config based on file的範例資訊
46
$conf["configFileAddr"]="assets of config/.ht_config";
48
$samples[]=array("name"=>"initial","comnent"=>"config based on file");
-
 
49
 
47
#可省略參數:
50
#增加config based on variable的範例資訊
48
#$conf["web"],是要取得網路上的檔案則為"true";反之則為"false",預設為後者.
51
$samples[]=array("name"=>"20240317","comnent"=>"config based on variable");
49
#$conf["web"]="false";
-
 
50
#參考資料:
-
 
51
#無.
52
 
52
#備註:
53
#針對每個範例資訊
53
#檔案內容的格式為多行json編碼然後url編碼然後base64編碼後的內容,每行代表一組定義.每組定義的json格式為php多維陣列所組成.
-
 
54
$server=config::server($conf);
54
foreach($samples as $sample){
55
unset($conf);
-
 
56
 
55
 
57
#如果執行失敗
56
	#如果找到對應的範例
58
if($server["status"]==="false"){
57
	if($sample["name"]===$nameOfSample){
59
 
58
	
60
	#函式說明:
59
		#如果存放範例的資料夾不存在
-
 
60
		if(!file_exists($sampleFolder)){
61
	#撰寫log
61
		
62
	#回傳結果:
62
			#提示訊息
63
	#$result["status"],狀態,"true"或"false".
63
			echo "存放範例的資料夾(".$sampleFolder.")不存在".PHP_EOL;
-
 
64
		
64
	#$result["error"],錯誤訊息陣列.
65
			#結束執行,並回傳1給shell
-
 
66
			exit(1);
-
 
67
		
-
 
68
			}#if end
-
 
69
			
65
	#$result["function"],當前函式的名稱.
70
		#如果對應的範例檔案不存在
66
	#$result["argu"],使用的參數.
71
		if(!file_exists($fileNameOfSample)){
-
 
72
		
67
	#必填參數:
73
			#提示訊息
68
	#$conf["path"],字串,log檔案的路徑與名稱.
74
			echo "範例檔案(".$fileNameOfSample.")不存在".PHP_EOL;
-
 
75
		
69
	$conf["path"]=$logFile;
76
			#結束執行,並回傳1給shell
70
	#$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.
-
 
71
	$conf["content"]=$server;
77
			exit(1);
72
	#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
-
 
-
 
78
		
73
	$conf["fileArgu"]=__FILE__;
79
			}#if end
-
 
80
			
74
	#可省略參數:
81
		#匯入範例
75
	#$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.
-
 
76
	#$conf["rewrite"]="false";
82
		require_once($fileNameOfSample);
-
 
83
		
77
	#參考資料:
84
		#結束執行
78
	#無.
85
		exit;
79
	#備註:
86
	
80
	#無.
87
		}#if end
81
	$record=logs::record($conf);
-
 
-
 
88
 
82
	unset($conf);
89
	}#foreach end
83
	
90
	
84
	#結束執行
91
#執行到這邊代表沒有對應的範例
85
	exit;
-
 
86
 
92
 
87
	}#if end
93
#提示範例不存在
-
 
94
echo "範例(".$nameOfSample.")不存在".PHP_EOL;
88
 
95
 
89
#印出 json
96
#結束執行,並回傳1給shell
90
echo json_encode($server["content"]);
97
exit(1);
91
 
98
 
92
?>
99
?>
93
100