yii2 0 user功能解析

2021-06-29 02:15:10 字數 1286 閱讀 2286

yii2.0這個框架我想發表一下自己看法,那就是物件導向設計的精華(oop)。那大牛會說了,我說這些就是屁話。沒錯,大家都知道yii是乙個非常好用的php開發框架,而且是遵循oop的設計思想。但是很多人,只知道其然,爾不知所以然,人云亦云。今天,我給大家就講解一下yii的登入,所用到的user元件。深入的了解,yii元件機制和登入的user原理。

1.yii元件思想,大家都了解,我就簡單的講解一下吧。

這是yii的配置目錄,裡面配置了yii的元件

元件詳情

2.我們找的了user元件的位置,那我們就開發進入正題了。

這個user元件的具體檔案目錄在:/basic/models/user.php,(這個檔案很強大哦!),他可以用於登入,退出,cookie驗證,下面我們來看看這個類。

這個元件的原理:user--繼承----》\yii\base\object-----具體的實現在------》\yii\web\identityinte***ce

意思就是說:user可以使用\yii\base\object裡的方法和屬性,具體的實現方式,是使用了\yii\web\identityinte***ce的方法(就是重寫了這個類裡的方法,介面呼叫。)

現在壓力來了,這些東西是怎麼使用的了。我研究了一天,真心說,我自己很疲憊。接下來,有到了我們的舉例時間。(注:我使用的登入,就是yii安裝的那個介面)

mvc:控制器(sitecontroller),模型(loginform),檢視(login)

這是控制器裡的登入:首先判斷使用者是不是訪問過的使用者,如果是訪問過的使用者,就直接跳轉登入了。(這裡面肯定有cookie,我不多做解釋cookie) 

所以我就斷點測試了一下。原來,是驗證使用者是否登入。

接下來,我看到$model=new loginform():這個地方,大家肯定就知道了,如果使用者沒有登入(意思就是瀏覽器沒有cookie),那我們進入登入流程。

上圖中用到了request元件,大家是不是,有所體會元件的用處了。就是在配置檔案中配置過,然後呼叫方式就是乙個規律了。(好方便啊)進入正題,我們看登入是怎麼回事。

大家發現了什麼,我笑爾不語,自己去體會吧。login方法主要是判斷使用者是否存在,同時設定cookie有效時間,前面的伏筆,終於出現了。

這裡面的**就與user.php關聯上了,小小的難度來了。admin是什麼,我重寫了user類。大家會覺得我很奇怪,但是我只想說yii是工具,用的感受,自己了解,就說這個user元件,官方定義user資料表,靠,我必須用嗎?大家覺得我很憤青,我只想說,我想怎麼用,就怎麼用。接下來我就給真相,原因是這樣,user是組建,我按照元件的配置,從寫了乙個admin類,做為我自己的登入元件。

zt EMF edit功能解析

from 1.emf.edit a 說明 emf.edit 位於emf.editor 和emf.ecore 之間,他起了乙個中介者的作用。他負責把來自 emf.editor的ui 相關的請求轉換成符合 emf.ecore的ui 無關的呼叫。他需要提供以下四個功能 實現用於支援 viewer 顯示的c...

T BOX功能解析

在 車聯網系統的組成概述 一文中,我們已經簡單介紹了t box的功能結構。今天,我們來進一步挖掘,t box在整個車聯網系統中,究竟承擔了哪些具體服務?1事件資訊上報類服務 總體來說,這類服務就是在車端滿足特定事件上報條件後,向tsp平台上報訊息 tsp平台在收到車端上報的訊息後,向車端傳送確認資訊...

jspatch功能解析

一 三個模型 1 補丁 執行時結構維護模型 2 通訊模型 3 解釋模型 執行時 二 js oc分層解釋呼叫 js模組與oc模組的關係 1 oc呼叫js的配置資訊完成配置 2 oc執行時重定位到js功能 3 js功能 被oc端解釋為oc 並執行 oc解釋為js overridemethod objc ...