以後臺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 進去。理論上這樣做是可行的...