dscms原始碼分析筆記

2021-09-25 22:00:23 字數 1825 閱讀 2260

以後臺admin模組下admin控制器為例分析其走向流程,學習和借鑑其好的思路和思維邏輯(詳細分解防止以後忘記)。。。大佬不用看了,請勿噴!

<?php

use think\lang;

class admin extends admincontrol//繼承admincontrol控制器

/*** 管理員列表

* @return mixed

*/public function index()

//$curitem

//檢視頁面

//內容

// 中

//admin_items.html檔案中$admin_item**於admincontrol控制器setadmincuritem(當前選中的欄目方法)

//$item.name eq $curitem 做對比來實現是否高亮

/*

*///檢視頁面中 類似 讀取語言變數值是在lang資料夾下面對應的語言資料夾下的admin.lang.php中admin_name的值以此類推

//而裡面類似卻沒有在前者存在的語言變數值,則是由基類admincontrol控制器中_initialize初始化方法中

return $this->fetch();

}/**

* 新增管理員

* @return mixed

*/public function add()

$data = array(

'admin_name' => input('post.admin_name'),

'admin_password' => input('post.admin_password'),

'admin_group_id' => input('post.group_id'),

'admin_add_time' => timestamp,

);$admin_validate = validate('admin');

if (!$admin_validate->scene('add')->check($data))

//新增到資料庫

$data['admin_password'] = md5(input('post.admin_password'));

$result = $model_admin->addadmin($data);

if ($result) else

} else

}/**

* 編輯管理員

* @return bool

*/public function edit()

$model_admin = model('admin');

if (!request()->ispost()) else

//驗證資料 end

$data['admin_password'] = md5(input('post.admin_password'));

$result = $model_admin->editadmin(array('admin_id' => intval($admin_id)), $data);

if ($result) else }}

/*** 刪除管理員

*/public function del()

$result = db('admin')->delete($admin_id);

if ($result) else

}/**

* 獲取欄目列表,針對控制器下的欄目

*/protected function getadminitemlist()

}

ReentrantLock原始碼分析 筆記

reentrantlock的實現原理分析 重入鎖提供了兩種實現,怎麼理解公平和非公平呢?反之,就是不公平的。簡單來說公平鎖就是等待時間最長的執行緒最優先獲取鎖。非公平鎖的實現流程時序圖 原始碼分析 並且sync有兩個實現,我們先來分析一下非公平鎖的實現 final void lock 所以在這裡,是...

FutureTask原始碼分析筆記

futuretask實際上執行還是乙個runnable,它對callable做了乙個封裝,讓開發人員可以從其中獲取返回值 futruetask是有狀態的 共7種狀態,四種狀態變換的可能 new completing exceptional new cancelled new completing n...

LEMON原始碼分析筆記 分割原始碼

lemon 原始碼分析筆記 分割原始碼 五千多行 集於乙個檔案,這不是什麼明智之舉。根據原始碼中的提示,可以程式設計乙個分割程式。分割程式的工作是,識別出檔名,並把用它建立檔案,寫入相應內容。在處理過程式,記錄標頭檔案。在識別出原始檔時,把在其前的標頭檔案 include 進去。理論上這樣做是可行的...