Maison  >  Article  >  développement back-end  >  Introduction à la méthode de vérification rapide des données à l'aide de la programmation d'aspect AOP dans thinkphp

Introduction à la méthode de vérification rapide des données à l'aide de la programmation d'aspect AOP dans thinkphp

不言
不言avant
2019-03-26 11:03:132321parcourir

Cet article vous présente la méthode de vérification rapide des données à l'aide de la programmation d'aspect AOP dans thinkphp. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

1) Vérifiez d'abord notre structure de répertoires

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

2) Utilisez l'écriture normale pour construire notre vérification

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

Ceci est principalement divisé en quatre étapes. Par rapport à l'utilisation de vérificateurs indépendants ou à la vérification des données un par un, la plupart du code a été optimisé. Cependant, lors de son utilisation, nous constaterons que nous sommes dans plusieurs vérifications ou plusieurs vérifications. en écrivant un module, il y aura une redondance répétitive dans l'écriture de cette chaîne de code

Problème ? Comment compresser le code d'appel en une seule ligne

AOP : sans modifier le code source Une technologie qui dynamique et ajoute uniformément des fonctionnalités à un programme. AOP est en fait une continuation du modèle de conception GoF. Le modèle de conception poursuit sans relâche le découplage entre l'appelant et l'appelé, améliorant la flexibilité et l'évolutivité du code. et la POO sont littéralement très similaires, ce sont deux idées de conception pour des domaines différents. La POO (Programmation Orientée Objet) encapsule de manière abstraite les entités du processus de traitement métier ainsi que leurs attributs et comportements pour obtenir une division plus claire et plus efficace des unités logiques.

Nous avons introduit l'idée de la programmation aop pour résoudre notre problème en fusionnant et unifiant des modules avec une seule fonction

Nous avons créé le répertoire validate sous commun, et créé un fichier BaseValidate, héritant de thinkvalidate

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;
        }
Code optimisé

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

Je me sens beaucoup plus à l'aise instantanément. Cela permet d'économiser beaucoup de code, car cette chose est instantanée. Il doit être utilisé sous de nombreux contrôleurs

Optimisation 2

Par exemple, dans le code de baseValidate, il y a une chaîne de code is_null, qui est écrite pour vérifier toutes les données transmises. quand on a besoin de vérifier toutes les données, il suffit d'écrire comme ça

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

Les données peuvent aussi être vérifiées, mais il y aura un doute, nous n'avons pas obtenu le data data. Les données data ne peuvent pas être utilisées, et elles doivent encore être obtenues à nouveau dans le contrôleur. Ce n'est pas conseillé, j'ai donc choisi de le faire

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

.

Introduction à la méthode de vérification rapide des données à laide de la programmation daspect AOP dans thinkphp

Cet article est terminé ici. Pour un contenu plus passionnant, vous pouvez faire attention à la colonne

Tutoriel vidéo PHP sur le site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer