Requestクラス
こんな感じ。
# /moony/core/Request.class.php class Request { var _parameters; function Request() { $this->_store(); } function getParameter($name, $default = NULL) { if (!isset($this->_parameters[$name])) { return $default; } return $this->_parameters[$name]; } function _store() { $this->_parameters = ($_SERVER['REQUEST_METHOD'] == 'POST') ? $_POST : $_GET; $this->_sanitize($this->_parameters); } function _sanitize($data) { if (is_array($data)) { return array_map(array('Request', '_sanitize'), $data); } return str_replace('\0', '', $data); } }
Controllerクラス内部でインスタンス生成を行い、Actionクラスのexecuteメソッドの引数として処理に渡すイメージ。特別な処理は行っていないけど、とりあえずNULLバイト文字列だけ除去してみた。