PHP を使い始めたとき、PHP の型付けが緩く、習得が容易であることに本当に満足していました。しかし、それに慣れるにつれて、大まかに型付けされていると、スクリプトを単純化するのではなく、実際にはスクリプトが複雑になることに気付きました。$_POST
そして今、PHP 変数、特に入力変数 ( 、$_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 に設定して、データの検証中に使用することもできます。ただし、車輪を再発明する前に、次のことを望んでいました。
私の問題を解決するのにすでに役立つライブラリに私を案内してくれる人がいるでしょうか?
このワイルドなファンタジーを追求してはいけない理由があるとしたら? これを達成するためのより良い、より明確な方法はありますか?
このアイデアについて、その他の一般的な考えはありますか?