この記事では主にphp入力データ統合クラスを紹介します。このサンプルは、入力データに対するさまざまな変換手法を分析しています。必要な方は参考にしてください。
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
|
クラスcls_request{ private $getdata;//ストレージのデータ取得 private $postdata;//ストレージ投稿データ private $requestdata;//ストレージリクエストデータ private $filedata;//ストレージファイルデータ private $cookiedata;//ストレージ Cookie static $_instance;//このクラスのインスタンス
プライベート関数 __construct(){ $this->getdata = self::format_data($_GET); $this->postdata = self::format_data($_POST); $this->requestdata = array_merge($this->getdata,$this->postdata); $this->cookiedata = self::format_data($_COOKIE); $this->filedata = self::format_data($_FILES); } //クラスの初期化、cls_requestオブジェクトを返す パブリック静的関数 get_instance(){ if(!(self::$_instanceinstanceofself)){ self::$_instance = 新しい self(); } self::$_instance を返す; } //GETで渡された数値変数を取得 パブリック関数 get_num($key){ if(!isset($this->getdata[$key])){ false を返す; } return $this->to_num($this->getdata[$key]); } //POSTで渡されたデータ変数を取得します パブリック関数 post_num($key){ if(!isset($this->postdata[$key])){ false を返す; } return $this->to_num($this->postdata[$key]); } //Request によって渡された数値変数を取得します パブリック関数 request_num($key){ if(!isset($this->requestdata[$key])){ false を返す; } return $this->to_num($this->requestdata[$key]); } //Cookieによって渡された数値変数を取得します パブリック関数 cookie_num($key){ if(!isset($this->cookiedata[$key])){ false を返す; } return $this->to_num($this->cookiedata[$key]); } //File によって渡された数値変数を取得します パブリック関数 filedata($key){ return $this->filedata[$key];//return 配列 } //GETで渡された文字列変数を取得します パブリック関数 get_string($key,$isfilter=true){ if(!isset($this->getdata[$key])){ false を返す; } if($isfilter){ return $this->filter_string($this->getdata[$key]); }その他{ return $this->getdata[$key]; } } //POSTで渡された文字列変数を取得します パブリック関数 post_string($key,$isfilter=true){ if(!isset($this->postdata[$key])){ false を返す; } if($isfilter){ return $this->filter_string($this->postdata[$key]); }その他{ return $this->postdata[$key]; } } //Request によって渡された文字列変数を取得します パブリック関数 request_string($key,$isfilter=true){ if(!isset($this->requestdata[$key])){ false を返す; } if($isfilter){ return $this->filter_string($this->requestdata[$key]); }その他{ $this->リクエストデータ[$key]; を返す} } //Cookieによって渡された文字列変数を取得します パブリック関数 cookie_string($key,$isfilter=true){ if(!isset($this->cookiedata[$key])){ false を返す; } if($isfilter){ return $this->filter_string($this->cookiedata[$key]); }その他{ $this->cookiedata[$key]; を返す} } //データをフォーマットする プライベート関数 format_data($data){ $result = array(); if(!is_array($data)){ $data = 配列(); } /* *list() は、配列の値を使用して変数に値を代入することを意味します。数値インデックス付き配列の場合のみ、 *デフォルトでは0から始まり、順番に進んでいきます *それぞれ() */ while(list($key,$value) = each($data)){//よくわかりません //チェックボックスなどのデータ処理 if(is_array($value)){ $結果[$キー]=$値; }else{//通常データ $result[$key] = トリム($value); //文字列の両端にある空白やその他の事前定義された文字を削除します } } } //数値を変換する プライベート関数 to_num($num){ if(is_numeric($num)){ return intval($num);//変数を整数に変換します }その他{ false を返す; } } //フィルター文字列を置き換えます プライベート関数 filter_string($data){ if($data===null){ false を返す; } if(is_array($data)){ foreach($data as $k=>$v){ $data[$k] = htmlspecialchars($v,ENT_QUOTES); //いくつかの事前定義された文字を HTML エンティティに変換します } $data を返す; }else{//通常の文字列 return htmlspecialchars($data,ENT_QUOTES); } } } ?> |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。