相信用過thinkphp的使用者都知道thinkphp的模型可以完成很多輔助功能,例如自動驗證、自動完成等,今天在開發中遇到自動完成中需要取得session值
然後自動賦值的功能,具體看程式碼;
class ArticlelModel extends Model { protected $_auto = array ( array('addtime','time',1,'function'), array('username','getName',1,'callback') ); //这个函数获取session里的name值 protected function getName(){ return $_SESSION["name"]; } }
這裡需要注意最後一個參數function和callback的區別;
function:使用函數,會自動去Common/common.php去尋找對應的函數;
callback:使用目前模型中定義的回呼方法
session函數是一個多元化操作函數,傳入不同的參數呼叫可以完成不同的功能操作,包括下面一些功能。 [-more-]
session初始化設定
如果session方法的name參數傳入數組則表示進行session初始化設置,例如:
session(array('name'=>'session_id','expire'=>3600)) ;
支援傳入的session參數包括:
Session初始化設定方法無需手動調用,在App類別的初始化工作結束後會自動調用,通常專案只需要配置SESSION_OPTIONS參數即可,SESSION_OPTIONS參數的設定是一個數組,支援的索引名和前面的session初始化參數相同。
預設情況下,初始化之後系統會自動啟動session,如果不希望系統自動啟動session的話,可以設定SESSION_AUTO_START為false,例如:
'SESSION_AUTO_START' =>false
自動啟動後可以項目的公用檔案或在控制器中透過手動呼叫session_start或session('[start]') 啟動session。
session賦值
Session賦值比較簡單,直接使用:
session('name','value'); //设置session
相當於:
$_SESSION['name'] = 'value';
可以使用
session('?name');
用於判斷名稱為name的session值是否已經設定
相當於:isset($_SESSION['name']);
session管理
session方法支援一些簡單的session管理操作,用法如下:
支援的操作名稱包括:
使用範例如下:
session('[start]'); // 啟動session
session('[destroy]'); // 銷毀sessionsession('[regenerate]'); // 重新產生session id
本地化支援
$_SESSION['name'] 變成$_SESSION['前綴']['name']
session('name','value'); //設定session
$_SESSION['think']['name'] = 'value';
$value = session('name');
$value = $_SESSION['think']['name'];
session('name',null);
unset($_SESSION['think']['name']);
session(null);
unset($_SESSION['think']);
相當於:
session('?name');
isset($_SESSION['think']['name']);

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。