所以,我没有使用任何框架,而是使用PHP在MVC架构上开发一个系统,并且有几个组件。其中之一是净化,用于过滤变量。
我遇到的问题是,如何更好地清洁VAR?
更容易在示例中显示:
class Sanitize {
public function sanitizeString($string) {
return filter_var($string, FILTER_SANITIZE_STRING);
}
}
然后我希望这个类在模型和控制器以及几乎所有文件上执行。不要写入everytime$sanitize=新建sanitize;我用于添加一个公共\uu构造函数,该函数将创建一个sanitize var。
private $sanitize;
public function __construct() {
$sanitize = new Sanitize();
}
然后我在函数中调用它,使用
$string = $this->sanitize->sanitizeString($string);
问题是我有点偏执,所以我在每个类中自动连接一个清理类,特别是模型,以便在数据进入DB时清理数据。所以这里发生了类似于递归的事情,并且有一个不断创建的var。例如,一个控制器将使用construct创建一个sanitize类。然后在一个方法中,我将在model User中创建一个新类,User类还将在其中创建一个清理,以及来自Cookie和Access类的一些数据,这两个类都将在其中创建清理。
所以我调用了1个方法,但它创建了4个重复的sanitize,有些甚至不需要。。。
最佳做法是什么?我做得对吗?
提前感谢!