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

不言
Libérer: 2023-04-05 17:52:02
avant
2299 Les gens l'ont consulté

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;
        }
Copier après la connexion
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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!