Maison  >  Article  >  cadre php  >  Comment utiliser la programmation d'aspect AOP dans thinkphp pour vérifier rapidement nos données

Comment utiliser la programmation d'aspect AOP dans thinkphp pour vérifier rapidement nos données

藏色散人
藏色散人avant
2021-04-07 14:51:402130parcourir

La colonne tutorielle suivante de thinkphp vous présentera l'utilisation de la programmation des aspects AOP dans thinkphp pour vérifier rapidement nos données. J'espère que cela sera utile aux amis dans le besoin !

Comment utiliser la programmation d'aspect AOP dans thinkphp pour vérifier rapidement nos données

Utilisez la programmation d'aspect AOP dans thinkphp pour vérifier rapidement nos données

1) Tout d'abord, jetez un œil à notre structure des répertoires

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos données

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

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos données

Ceci est principalement divisé en quatre étapes. Par rapport à l'utilisation de validateurs 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 en avons plusieurs. problèmes. Lors de la vérification de plusieurs modules, il y aura une redondance répétitive dans l'écriture de cette chaîne de code

Question Comment compresser le code d'appel en une seule ligne

AOP : Une technologie qui ajoute des fonctions de manière dynamique et uniforme à un programme sans modifier le code source. 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 et leurs attributs et comportements du processus de traitement métier 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 nos problèmes en fusionnant et en unifiant des modules avec des fonctions uniques

Nous avons créé le répertoire

sous common et créé un validateFichier, héritageBaseValidatethinkvalidate

    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é

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos données

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

Optimisation 2

Par exemple, dans le code. dans baseValidate, l'un des codes est is_null, qui est écrit pour vérifier toutes les données transmises. Lorsque nous devons vérifier toutes les données, il suffit d'écrire comme ceci

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos données<.>

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos donnéesLes données peuvent également être vérifiées, mais il y aura un doute. Nous n'avons pas obtenu les données et nous ne pouvons pas les utiliser. de réacquérir dans le contrôleur, ce qui n'est pas conseillé, j'ai donc choisi de faire cela

Comment utiliser la programmation daspect AOP dans thinkphp pour vérifier rapidement nos données

Recommandations associées :

Les 10 derniers didacticiels vidéo thinkphp

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