自社的フレームワーク - リクエストのクリーン化
実際作ってみて思ったのは、会社で一度作ってしまうと
それで運用し続けるじゃないですか。
今回自分が作ってみて、それほど不満はないのですが、場当たり的なコードが
あって、こういうのが増えたら終わりだなーと感じています。
もちろんその部分をリファクタリングすればいいだけですが、
いくつも自分のフレームワークの不満点を見つけて、どんどん新フレームワークを
作っていけるといいなと思いました。
いきなりですが、ソースを切り出して貼り付けます。
字がちいせぇな。
/**
* cleanRequest requestのクリーン処理
* @param array $ary_request
* @return array $return_request
*/
private function cleanRequest($ary_request){
$return_request = array();
if(count($ary_request)<1)return $return_request;foreach($ary_request as $key => $value){
//if(!isset($key))continue;//keyクリーン化
if(isset($key))
$clean_key = htmlentities($key, ENT_QUOTES, 'UTF-8');
else
$clean_key = '';//valueクリーン化
if(is_array($value))
$clean_value = urldecode($this->cleanRequest($value));
else
$clean_value = urldecode(htmlentities($value, ENT_QUOTES, 'UTF-8'));if($clean_key !== '')
$return_request[$clean_key] = $clean_value;
else
$return_request[] = $clean_value;
}return $return_request;
}
これはpost,getからリクエストを受けた場合のクリーン化に加えて、
urlからパラメータを切り出した場合のクリーン化もしています。
これらは多重配列の場合も全てクリーン化しています。
字がちいせぇな。
/**
* getRequest request取得
* @param none
* @return array request
*/
public function getRequest(){
$this->request['post'] = $this->cleanRequest($this->getPost());
$this->request['get'] = $this->cleanRequest($this->getGet());
$this->request['uri'] = $this->cleanRequest($this->getRequestTypeFuction());return $this->request;
}
こんな感じで使います。
便利か不便かわかりませんが、自分のフレームワークはリクエストを
どのメソッドから来たかで分けています。これはプログラマが指定したリクエストから
受け取ってもらえる様にと、ちょっとしたセキュアなつもりです。
getRequestTypeFuctionについては、urlの切り出し方を選択させたいなと思い、switchさせています。
冷凍冷蔵庫 容量405L 切れち
ゃう冷凍 使いやすいケース収…
冷蔵庫は池袋にいくべきじゃね?w