ecmall框架系統分析(三)
在app.base.php中定義了一個BaseVisitor extends Object 類,它對session中的當前登入的使用者資訊進行判斷與初使化,我們先看看它的構造器:
Php程式碼
-
function BaseVisitor()
-
{
-
if ($_SESSION[$this->_info_key][‘user_id’])
-
{
-
$this->info = $_SESSION[$this->_info_key];
-
$this->has_login = true;
-
}
-
else
-
{
-
$this->info = array(
-
‘user_id’ => 0,
-
‘user_name’ => Lang::get(‘guest’)
-
);
-
$this->has_login = false;
-
}
-
}
它在構造器中就對$_SESSION中進行_info_key的判斷,判斷是否存在,存在則使用者已經登入,不存在,則使用者還沒有登入
而這 裡的_info_key,則是在它的子類:UserVisitor extends BaseVisitor中進行附值的:
Php程式碼
-
class UserVisitor extends BaseVisitor
-
{
-
var $_info_key = ‘user_info`;
-
}
這個子類,在FrontendApp extends ECBaseApp類中的:
Php程式碼
-
function _init_visitor()
-
{
-
$this->visitor =& env(‘visitor’, new UserVisitor());
-
}
中對visitor進行初使化的。因此這就可以讓我們在FrontendApp的子類中使 用$this->visitor->get(“user_id”)就可以獲取當前登入使用者的資訊,而根據ecmall的繼承圖中我們可以知 道,基本在所有的實體物件操作類中都可以使用它對當前登入使用者進行訪問!而在BaseVisitor類中,集合了更多的函式可以對使用者是否登入,獲取當前 使用者資訊等內容進行操作。
而對於系統後臺的使用者操作,與前臺是一樣的,只不過後臺是:admin/app/backend.base.php中 的BackendApp類。
本文轉自ljianbing51CTO部落格,原文連結: http://blog.51cto.com/ljianbing/1611252,如需轉載請自行聯絡原作者
相關文章
- 逐行分析鴻蒙系統的 JavaScript 框架鴻蒙JavaScript框架
- 系統分析
- Flutter框架分析(三)-- Widget,Element和RenderObjectFlutter框架Object
- web前端三大主流框架對比分析Web前端框架
- Spark RPC框架原始碼分析(三)Spark心跳機制分析SparkRPC框架原始碼
- Linux作業系統原始碼詳細分析(三)(轉)Linux作業系統原始碼
- ECMall /app/buyer_groupbuy.app.php SQL Injection VulAPPPHPSQL
- 機房收費系統總結——系統框架框架
- Unity——技能系統(三)Unity
- 前端事件系統(三)前端事件
- DAPP燃燒挖礦系統開發功能分析詳情(框架)APP框架
- ET框架6.0分析三、網路通訊框架
- 系統分析員之路----系統分析員基本功 【網路】
- 秒殺系統分析
- UnrealEngine - 反射系統分析Unreal反射
- 系統分析師
- IT系統的業務模型分析與系統建模模型
- Oracle 系統監控建置三(共三)Oracle
- 三軌直銷系統
- BOSS系統三戶模型模型
- 報表系統三論
- Android系統介紹與框架Android框架
- 【系統安全003】NT驅動框架框架
- Tornado框架03-路由系統框架路由
- SSM框架整合——書籍管理系統SSM框架
- I2C系統框架(1)框架
- 分析型CRM系統都分析什麼?
- ELK日誌分析系統
- elk 日誌分析系統
- 【ELK】日誌分析系統
- Linux系統(三)系統基礎掃盲大全Linux
- DAPP鏈上公排互助矩陣模式系統開發功能分析框架APP矩陣模式框架
- PHIL二象菲爾DAPP公排系統開發功能技術框架分析APP框架
- 資訊系統三怕三不怕
- ECMall如何支援SSL連線郵件伺服器的配置伺服器
- 應用系統整合方案(三)
- react學習(三)- 事件系統React事件
- IT系統的三種分類