ホームページ > PHPフレームワーク > ThinkPHP > thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法

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

藏色散人
リリース: 2021-04-08 08:42:13
転載
2158 人が閲覧しました

thinkphp の次のチュートリアル コラムでは、データを迅速に検証するための thinkphp での AOP アスペクト プログラミングの使用方法を紹介します。困っている友人の役に立てば幸いです。

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

#thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証します

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

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

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

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

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

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

私たちは、
common## の下に

validate# を作成しました。

ディレクトリに移動し、

BaseValidate ファイルを作成し、think\validateBaseValidate.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 のコードには、渡されたすべてのデータを検証するために記述されたコード文字列 is_null があります。すべてのデータを検証するときは、次のように記述するだけです

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

##データはまた、検証も行われます。しかし、疑問があります。データ データを取得できませんでした。データ データを使用することはできません。コントローラーで再度取得する必要があります。これはお勧めできません。したがって、これを行うことにしましたthinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法

thinkphp で AOP アスペクト プログラミングを使用してデータを迅速に検証する方法
関連する推奨事項:

最新の 10 件の thinkphp ビデオ チュートリアル

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

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