亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

thinkphp中使用AOP切面編程快速驗證我們的數(shù)據(jù)

myshell / 3239人閱讀

摘要:面向對象編程針對業(yè)務處理過程的實體及其屬性和行為進行抽象封裝,以獲得更加清晰高效的邏輯單元劃分。

 thinkphp中使用AOP切面編程快速驗證我們的數(shù)據(jù)

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

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

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

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

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

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

我們在common下創(chuàng)建 validate目錄,并且創(chuàng)建一個BaseValidate文件,繼承 thinkvalidate

BaseValidate.php

    param();
            }

            # 進行驗證
            if( !$this->check($data) ) {
                (new Base())->ajaxjson(Base::error, $this->getError()); # 拋出的自定義異常
            }

            return true;
        }
        

優(yōu)化后代碼

瞬間舒服了很多吧,省去了非常多的代碼了算是,因為這個東西在很多控制器下都是應該需要進行使用的

優(yōu)化2

如baseValidate中的代碼,其中有一串代碼是is_null,那是為了校驗所有傳遞上來的數(shù)據(jù)而編寫,當我們需要校驗所有的數(shù)據(jù)的時候只需要這樣寫

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


文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/31095.html

相關文章

  • Hello Spring-AOP

    摘要:簡介什么是面向切面編程,是對傳統(tǒng)的面向對象編程的補充。通知有五種通知,執(zhí)行前,執(zhí)行后,執(zhí)行成功后,執(zhí)行拋出異常后,環(huán)繞通知。連接點連接點是一個應用執(zhí)行過程中能夠插入一個切面的點。 OOP(Object Oriented Programming)面向對象編程解決了縱向上的層次分割,例如MVC模式將展示層、持久化層、邏輯處理層一一分開了,使得開發(fā)效率得到了較大提高,但是這只是縱向上的分割,...

    Kahn 評論0 收藏0
  • Hello Spring-AOP

    摘要:簡介什么是面向切面編程,是對傳統(tǒng)的面向對象編程的補充。通知有五種通知,執(zhí)行前,執(zhí)行后,執(zhí)行成功后,執(zhí)行拋出異常后,環(huán)繞通知。連接點連接點是一個應用執(zhí)行過程中能夠插入一個切面的點。 OOP(Object Oriented Programming)面向對象編程解決了縱向上的層次分割,例如MVC模式將展示層、持久化層、邏輯處理層一一分開了,使得開發(fā)效率得到了較大提高,但是這只是縱向上的分割,...

    jaysun 評論0 收藏0
  • SSM

    摘要:核心控制器前端控制器預處理控制器負責接收頁面請求和返回數(shù)據(jù)給頁面。使用面向切面編程管理事物日志權限等。數(shù)據(jù)庫,持久化如何快速學習框架的回答知乎其他鏈接 RESTful API 網(wǎng)站即軟件 URI不包含動詞 請求方法對應 CRUDGET ---SELECT,從服務器取出資源 POST --- CREATE,在服務器新建一個資源 PUT --- UPDATE,在服務器更新資源(客戶端提供...

    Pandaaa 評論0 收藏0
  • 造個輪子,我學到了什么

    摘要:閱讀原文造個輪子我學到了什么聽說的最多的是不是不要重復的造輪子不要被這句話蒙騙了,這句話應該還沒說完整,在什么情況下不要造輪子實際項目中由于工期和質量原因,肯定不希望你造輪子,你造輪子花費時間且質量不如現(xiàn)有的輪子。 閱讀原文:造個輪子,我學到了什么 聽說的最多的是不是不要重復的造輪子?不要被這句話蒙騙了,這句話應該還沒說完整,在什么情況下不要造輪子?實際項目中由于工期和質量原因,肯定不...

    Acceml 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<