<?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; } } ?>