thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介

不言
リリース: 2023-04-05 17:52:02
転載
2324 人が閲覧しました

この記事では、thinkphp の AOP アスペクト プログラミングを使用してデータを迅速に検証する方法を紹介します。一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。

##1) まずディレクトリ構造を確認します

thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介##2) 通常の書き込みを使用して検証を構築します

#これは主に 4 つのステップに分かれており、独立したバリデーターやデータ検証を 1 つずつ使用する場合に比べて、ほとんどのコードは最適化されていますが、実際に使用すると、複数の検証または複数の検証に陥っていることがわかります。モジュールを作成する場合、このコード列を記述するのに繰り返しの冗長性が発生します。thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介

質問? アピール コードを 1 行に圧縮する方法

AOP: ソース コードを変更せずに、動的にプログラムに機能を均一に追加します。 AOP は実際には GoF デザイン パターンの継続です。このデザイン パターンは呼び出し元と呼び出し先の間の分離を絶えず追求し、コードの柔軟性とスケーラビリティを向上させます。AOP はこの目標を実現したものであると言えます## ただし #AOPと OOP は文字通り非常に似ており、異なる分野のための 2 つの設計アイデアです。 OOP (オブジェクト指向プログラミング) は、ビジネス処理プロセスのエンティティとその属性と動作を抽象的にカプセル化し、論理ユニットをより明確かつ効率的に分割します。

私たちは、単一関数を持つモジュールをマージおよび統合することで問題を解決するために、aop プログラミングのアイデアを導入しました。


私たちは、common の下に validate ディレクトリを作成し、継承する BaseValidate ファイルを作成しました\validate

BaseValidate.php
    <?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;
        }
ログイン後にコピー

最適化されたコード

これは多くの場所で使用されているため、多くのコードを節約でき、すぐに快適になります。

thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介最適化 2

たとえば、baseValidate のコードの 1 つは is_null で、渡されたすべてのデータを検証するために記述されています。すべてのデータを検証する必要がある場合は、

# と記述するだけで済みます。データも検証できますが、疑問が生じます。データ データを使用するには、やはりコントローラーでデータを再取得する必要がありますが、これはお勧めできません。そのため、これを行うことにしました

thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介

thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介

この記事はここで終了しています。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの

PHP ビデオ チュートリアル thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介 列に注目してください。

以上がthinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート