ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介
この記事では、thinkphp の AOP アスペクト プログラミングを使用してデータを迅速に検証する方法を紹介します。一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。
##1) まずディレクトリ構造を確認します##2) 通常の書き込みを使用して検証を構築します
#これは主に 4 つのステップに分かれており、独立したバリデーターやデータ検証を 1 つずつ使用する場合に比べて、ほとんどのコードは最適化されていますが、実際に使用すると、複数の検証または複数の検証に陥っていることがわかります。モジュールを作成する場合、このコード列を記述するのに繰り返しの冗長性が発生します。
私たちは、common の下に validate ディレクトリを作成し、継承する BaseValidate ファイルを作成しました\validate
<?php namespace app\common\validate; use app\common\controller\Base; use think\Request; use think\Validate; class BaseValidate extends Validate { /** * 基础类控制器 * @param null|array $data * @return bool */ public function goCheck($data = null) { # 当 data 不存在的时候去自动校验获取到的参数 if( is_null($data) ) { # 获取待验证的参数 $data = Request::instance()->param(); } # 进行验证 if( !$this->check($data) ) { (new Base())->ajaxjson(Base::error, $this->getError()); # 抛出的自定义异常 } return true; }
最適化されたコード
これは多くの場所で使用されているため、多くのコードを節約でき、すぐに快適になります。最適化 2
たとえば、baseValidate のコードの 1 つは is_null で、渡されたすべてのデータを検証するために記述されています。すべてのデータを検証する必要がある場合は、
# と記述するだけで済みます。データも検証できますが、疑問が生じます。データ データを使用するには、やはりコントローラーでデータを再取得する必要がありますが、これはお勧めできません。そのため、これを行うことにしましたPHP ビデオ チュートリアル 列に注目してください。
以上がthinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。