1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?php
/**
* ParamUtil
* DBにパラメーターをセットするときに使う関数集。
* $Id: ParamUtil.inc,v 1.1 2015/10/08 11:18:56 wanggb Exp $
* @author iimuro
* @access public
* @package jp.aimslib2.util
*/
class ParamUtil {
/**
* オブジェクトのプロパティーを配列に落とします。
* @param array 挿入先配列
* @param Object 元オブジェクト
* @param String 挿入先キー文字列
* @param String 元フィールド名。省略時は挿入先キー
*/
public static function copyObj2Array(&$array, &$obj, $array_key, $obj_key = null) {
if ($obj_key == null) {
$obj_key = $array_key;
}
if (isset($obj->$obj_key)) {
$array[$array_key] = $obj->$obj_key;
}
}
/**
* オブジェクトのプロパティーを配列に落とします。
* @param array 挿入先配列
* @param Object 元オブジェクト
* @param String 挿入先キー文字列
* @param String 元フィールド名。省略時は挿入先キー
*/
public static function copyObj2ArrayNullField(&$array, &$obj, $array_key, $obj_key = null) {
if ($obj_key == null) {
$obj_key = $array_key;
}
if (isset($obj->$obj_key) && ($obj->$obj_key !== "")) {
$array[$array_key] = $obj->$obj_key;
} else {
$array[$array_key] = null;
}
}
/**
* 配列のプロパティーをインスタンスに落とします。
* @param Object 元オブジェクト
* @param array 挿入先配列
* @param String 元フィールド名。
* @param String 挿入先キー文字列。省略時は挿入先キー
*/
public static function copyArray2Obj(&$obj, &$array, $obj_key, $array_key = null) {
if ($array_key == null) {
$array_key = $obj_key;
}
if (isset($array[$array_key])) {
$obj->$obj_key = $array[$array_key];
}
}
/**
* 指定されたパラメータが、リクエストにセットされているかを返します。
* empty関数を使用した場合、0をtrueと返してしまうのを回避するために利用します。
* @param String name パラメータ名
* @return boolean 指定されたパラメータが、null又は空文字列でない場合true。
*/
public static function isRequestSet($name) {
if (isset($_REQUEST[$name]) && $_REQUEST[$name] != "") {
return true;
} else {
return false;
}
}
/**
* 指定された名前がbooleanであることがわかっているときに、空白チェックを行った上でその値を取得します。
* @param String $name フィールド名
* @param boolean $undef_value フィールドが未定義だった場合に返す値。省略時false。
* @param String $yes_candidate フィールドの値を特定したい場合に、その値を指定する。省略時は、"true", "yes", "on"
* @param String $no_candidate フィールドの値を特定したい場合に、その値を指定する。省略時は、"false", "no", "off"
* @return boolean 判定に一致した場合は対応するtrue/false。一致しない場合は$undef_value
*/
public static function getRequestBoolean($name, $undef_value = false, $yes_candidate = null, $no_candidate = null) {
if (ParamUtil::isRequestSet($name)) {
$value = $_REQUEST[$name];
if ($yes_candidate == null) {
$yes_candidate = array("true", "yes", "on");
if (in_array(strtolower($value), $yes_candidate)) {
return true;
}
// 候補に入らない→false判定へ
} else if ($yes_candidate == $value) {
return true;
}
if ($no_candidate == null) {
$no_candidate = array("false", "no", "off");
if (in_array(strtolower($value), $no_candidate)) {
return false;
}
// 候補に入らない→undef
} else if ($no_candidate == $value) {
return false;
}
}
return $undef_value;
}
/**
* 指定された名前がStringであることがわかっているときに、定義チェックを行った上でその値を取得します。
* @param String $name フィールド名
* @param String $undef_value フィールドが未定義だった場合に返す値。省略時null。
* @return String リクエストにパラメータが合った場合その値。無い場合、$undef_value
*/
public static function getRequestString($name, $undef_value = null) {
if (isset($_REQUEST[$name])) {
return $_REQUEST[$name];
}
return $undef_value;
}
/**
* 指定された名前が数値であることがわかっているときに、定義チェックを行った上でその値を取得します。
* @param String $name フィールド名
* @param number $undef_value フィールドが未定義だった場合に返す値。省略時null。
* @return number リクエストにパラメータが合った場合その値。無い場合、$undef_value
*/
public static function getRequestNumber($name, $undef_value = null) {
if (isset($_REQUEST[$name]) && is_numeric(trim($_REQUEST[$name]))) {
return trim($_REQUEST[$name]);
}
return $undef_value;
}
/**
* 指定された名前が配列であることがわかっているときに、定義チェックを行った上でその値を取得します。
* @param String $name フィールド名
* @param array $undef_value フィールドが未定義だった場合に返す値。省略時null。
* @return array リクエストにパラメータが合った場合その値。無い場合、$undef_value
*/
public static function getRequestArray($name, $undef_value = null) {
if (isset($_REQUEST[$name]) && is_array($_REQUEST[$name])) {
return $_REQUEST[$name];
}
return $undef_value;
}
}
?>