Я думаю, что использование синглтона было бы здорово, даже если бы для практики. Тот факт, что кто-то не считает это правильным подходом, не делает его неправильным. Используя и реализуя идеи, независимо от того, насколько они малы или велики, вы изучите и расширите свои знания в отношении указанных реализаций. Вы скоро узнаете, работает ли это для вашей конкретной ситуации или нет. Тогда вам не нужно принимать мнения других.
Как говорится, я говорю, пойти на это. Я понимаю, почему вы хотели бы. Мысль: «Я хочу, чтобы все было очищено для инъекций (и т. Д.), И таким образом я могу быть уверенным, что это произойдет на каждом входе».
Позвольте мне пролить немного света. Почему бы не реализовать один метод, использующий $ _REQUEST, который будет обрабатывать как $ _GET, так и $ _POST? Хотя этот подход может быть простым, он поможет вам начать работу.
$cleanser = Cleanser::singleton();
$new_request_array = $cleanser->clean($_REQUEST);
class Cleanser
{
private static $instance;
private function __construct() { }
public static function singleton() {
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
public function clean($request) {
foreach($request as $key => $value) {
// perform any cleansing here
$cleansed[$key] = trim($value);
}
return $cleansed;
}
public function __clone() {
trigger_error('Clone is not allowed.', E_USER_ERROR);
}
}
Получайте удовольствие и помните, что в обучении нет ничего «неправильного» или «неправильного». Я думаю, что именно такой подход пытается использовать StackOverflow. Мы здесь, чтобы научиться делать что-то, а не судить о нашей реализации. Так что веселись!