フォーム検証クラスを作成していますが、現在このように機能しています。
$validator->setVar($_POST['Username'])
->standardFilter(array('XSS', 'SQL_INJECTION'))
->customRegex()
->replace('This', 'With this')
->getResult();
このように連鎖すると完全に機能しますが、次の結果をアーカイブすることはできません。
$validator->setVar($_POST['Username'])
->isValidEmail()
->isValidPhoneNumber()
->isSet()
->isNull()
->getResult()
たとえば、scriptは次の値を返します
->isValidEmail() (true)
->isValidPhoneNumber() (true)
->isSet() (false)
基本的には、配列を作成し、各関数の結果に応じてtrue / falseで埋め、配列内の特定の値(false)を探します。存在する場合、残りのチェーンに関係なく、クラスはfalseを返します。(または、変数をオーバーライドすることもできますが、ここでは重要ではありません。)
ただし、関数からfalseを取得したら、$validatorがチェーンを停止するようにします。isSet()からfalseを受け取ったとしましょう。すでにチェックに失敗しているため、isNull()とgetResult()を実行しないでください。
これをPHPでアーカイブするにはどうすればよいですか?
TL; DR:
var_dump($validator->setVar('Test message')->isInteger()->setTrue());
//false //true
Output: false, because once isInteger() failed, rest of the chain isn't executed.
これをPHPでアーカイブするにはどうすればよいですか?