強く型付けされたように、あなたのPHPの入力変数を強制することは可能ですが、私はPHPが緩く型付けされた、それは学ぶためにどのように簡単だったかと本当に幸せでした。しかし、私が成長するにつれて、ゆるやかにタイプされているのは実際にスクリプトを複雑にするのではなく、スクリプトを複雑にすることに気付きました。そして今、私は強い私のPHP変数は、具体的に入力変数($_POST
、$_GET
、$_COOKIE
、$_REQUEST
といくつかの$_SERVER
VARS)を入力することができます方法を探しています。はそれが
また、SQLインジェクションやその他のエラーが発生しやすい検証プロセスの多くを「忘れる」ように、このプロセスでは検証とサニタイズを隠すことを願っています。私はこれをどのようにしたいかについての大まかなスケッチを持っています。
まず変数を宣言します。好ましくはOOP
$varClass->post->variable_name->type('STR', 'SQL', 'EMAIL');
// or as an array
$_MY_POST['variable_name'] = array('STR', 'SQL', 'EMIAIL');
に今私はおそらくちょうど事前に定義されたPHPのグローバルからのすべての宣言されていない変数を削除し、グローバルな配列で直接それらを検証し、サニタイズする変数の型を使用することができます。
また、emaillのような未検証変数の値をfalseに設定し、nullに設定してデータ検証中に使用することもできます。しかし、私はオフに行って、私は期待していた再発明した車の前に:
いくつかのいずれかは、すでに私の問題を解決するのに役立ちますライブラリを私に指示される場合がありますか?
私はこの野生の幻想を追求すべきではない理由があれば、 これを達成するためのより良い、より明確な方法は?
など、このアイデアについて他の一般的な考えがありますか?
ああ、こんにちは、私は強くPHPでタイピングをしたいと思っています。私たちはすぐにプリミティブの型ヒントを得ていると思います。これは間違いなくプラスになります。 –
さらに最後のコメントにスカラー型のヒントがあり、PHPで来るhttp://sebastian-bergmann.de/archives/900-Scalar-Type-Hints-in-PHP-5.3.99.html#content –
実際のところ、あなたがやろうとしていることを実行する実装があります:http://sourceforge.net/p/php7framework/wiki/input/ – mario