中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

發布時間:2020-07-10 14:44:17 來源:億速云 閱讀:190 作者:Leah 欄目:編程語言

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1) 首先 查看一下我們的目錄結構

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

2)使用平常的寫法來構造一下我們的驗證

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

這里主要分四步在走,相對于使用獨立驗證器或者挨個數據驗證已經優化了大部分的代碼了,但是,當在使用中會發現,我們在多個驗證或者多個模塊的時候會出現重復性的冗余去寫這一串代碼

問題? 如何將上訴的代碼壓縮成一行呢

AOP: 在不修改源代碼的情況下給程序動態統一添加功能的一種技術。AOP實際是GoF設計模式的延續,設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,提高代碼的靈活性和可擴展性,AOP可以說也是這種目標的一種實現
AOP、OOP在字面上雖然非常類似,但卻是面向不同領域的兩種設計思想。OOP(面向對象編程)針對業務處理過程的實體及其屬性和行為進行抽象封裝,以獲得更加清晰高效的邏輯單元劃分。

我們引入aop編程的思想來解決的我們的問題,通過將功能單一的模塊合并統一起來

我們在common下創建 validate目錄,并且創建一個BaseValidate文件,繼承 think\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中的代碼,其中有一串代碼是is_null,那是為了校驗所有傳遞上來的數據而編寫,當我們需要校驗所有的數據的時候只需要這樣寫

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

同樣可以校驗出數據,但是會有一個疑惑,我們沒有來獲取data數據,無法使用data數據,還是需要在控制器中重新進行獲取,這是不可取的,所以我選擇這樣做

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

thinkphp中使用AOP切面編程快速驗證數據的方法有哪些

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 杭锦后旗| 上林县| 开封市| 噶尔县| 子长县| 阿巴嘎旗| 汽车| 镇巴县| 白玉县| 秭归县| 长宁区| 吴桥县| 祁连县| 靖安县| 台北县| 年辖:市辖区| 克拉玛依市| 阿克苏市| 揭东县| 泗洪县| 永昌县| 沅陵县| 潞西市| 手游| 南昌县| 洞头县| 万盛区| 汨罗市| 吴堡县| 延长县| 什邡市| 凤凰县| 夏邑县| 信宜市| 元谋县| 炎陵县| 巴林左旗| 临江市| 买车| 延津县|