所以,我没有使用任何框架,使用PHP在MVC架构上开发系统并且有几个组件。其中一个是Sanitize,用于过滤变种。
我遇到的问题是,如何更好地消毒变量?
更容易在示例中显示:
class Sanitize {
public function sanitizeString($string) {
return filter_var($string, FILTER_SANITIZE_STRING);
}
}
然后我想要在模型和控制器以及几乎所有文件上执行此类。每次$ sanitize = new Sanitize都不要写;我以前用来添加一个公共的__construct函数来创建一个sanitize var。
private $sanitize;
public function __construct() {
$sanitize = new Sanitize();
}
然后我只使用
在我的函数中调用它$string = $this->sanitize->sanitizeString($string);
问题是我有点偏执,所以我会在每个类中自动连接一个清理类,特别是模型,以便在数据进入数据库时清理数据。所以这里发生了类似递归的事情,并且有一个一遍又一遍地创建的var。例如,控制器将使用构造创建一个清理类。然后在一个方法中,我将在模型User中创建一个新类,User类还会在其中创建一个清理,以及来自Cookie和Access类的一些数据,这两个数据都会在其中创建清理。
所以我调用了1个方法,但它创建了4个重复消毒,有些甚至没有需要......
最佳做法是什么?我做得对吗?
提前致谢!
答案 0 :(得分:0)
快速划分一个解决方案:
var envelopesApi = new docusign.EnvelopesApi();
envelopesApi.createEnvelope(loginAccounts[0].accountId, envDef, null, function(error, envelopeSummary, response) {
if (error) {
console.log('Errors: ' + JSON.stringify(error));
return next(error);
}
if (envelopeSummary) {
console.log("EnvelopeSummary:" + JSON.stringify(envelopeSummary));
const envelopeId = envelopeSummary.envelopeId;
}
});