当我开始使用 PHP 时,我对 PHP 的松散类型和易于学习感到非常满意。但是随着我的成长,我意识到松散的类型实际上使我的脚本变得复杂而不是简化它们。现在我正在寻找可以强类型化 PHP 变量的方法,特别是输入变量($_POST
、$_GET
、$_COOKIE
和$_REQUEST
一些$_SERVER
变量)。
此外,我希望在此过程中隐藏我的验证和清理,以便我可以“忘记”SQL 注入和许多其他容易出错的验证过程。我对我想要的样子有一个粗略的草图。
首先我声明变量。最好在 OOP 中
$varClass->post->variable_name->type('STR', 'SQL', 'EMAIL');
// or as an array
$_MY_POST['variable_name'] = array('STR', 'SQL', 'EMIAIL');
现在我可以从预定义的 PHP GLOBAL 中删除所有未声明的变量,并使用变量类型直接在全局数组中验证和清理它们。
我还可以将未验证变量(如 emaill)的值设置为 bool false 和 un-submitted 为 null,并在数据验证期间使用它们。然而,在我离开并重新发明轮子之前,我希望:
有人可能会引导我去一个已经帮助解决我的问题的图书馆?
如果有什么理由我不应该追求这种疯狂的幻想?实现这一目标的更好和更清晰的方法?
以及您对这个想法可能有的其他一般想法?