自社的フレームワーク - リクエストのクリーン化

実際作ってみて思ったのは、会社で一度作ってしまうと
それで運用し続けるじゃないですか。
今回自分が作ってみて、それほど不満はないのですが、場当たり的なコードが
あって、こういうのが増えたら終わりだなーと感じています。

もちろんその部分をリファクタリングすればいいだけですが、
いくつも自分のフレームワークの不満点を見つけて、どんどん新フレームワーク
作っていけるといいなと思いました。

いきなりですが、ソースを切り出して貼り付けます。


/**
* 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 切れちゃう冷凍 使いやすいケース収納式 三菱 MR-A41P-B レザーブラック
冷凍冷蔵庫 容量405L 切れち
ゃう冷凍 使いやすいケース収…

冷蔵庫は池袋にいくべきじゃね?w