程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> thinkphp在模型中自動完成session賦值,thinkphpsession

thinkphp在模型中自動完成session賦值,thinkphpsession

編輯:關於PHP編程

thinkphp在模型中自動完成session賦值,thinkphpsession


相信用過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:使用在當前模型中定義的回調方法

更多編程視頻教程下載可到:http://www.jscto.net


我的thinkphp用的31版本,但是自動驗證,字段映射,自動完成按照官方步驟做的都不可以用

$User=new Model('Admin'); // 問題在這一句代碼。Model()或M()方法實例化基礎模型,而你在模型中添加了自動驗證,屬於自定義模型。因此自動驗證部分不會又作用。// 將上一句按如下修改$User=new AdminModel(); // 直接實例化為你的自定義模型// 或者更簡單的$User=D('Admin');// 詳細內容參考官方文檔 6.2 模型實例化
 

在thinkphp 模版怎判斷session

方法很多,靈活運用,例如
1.在模板中調用{$Think.session}
2.在<php></php>標簽直接編寫php代碼來判斷$_SESSION
3.在模板中寫<?php ?>,然後在裡面直接編寫php代碼來判斷$_SESSION
4.在Action中將$_SESSION變量通過assign()方法賦值給模板
5.在自定義函數庫中,新建一個函數用來返回$_SESSION變量,然後在模板文件中使用{$變量命 | 函數名}來將函數返回的$_SESSION賦給模板中的一個變量

以上五種方法皆可,你也可以想自己的辦法。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved