2015.1寫留言板的時用的 知識點和函數 --->總結
一:時間函數和uniqid()
1:uniqid():產生唯一的id, 無參數返回的字串的長度為13,有參數為23
2:時間和時間戳記相互轉換的php函數
①:time() 返回當前unix的時間戳記 microtime() 返回當前unix時間戳記和微秒數
②:date('Y-m-d H:i:s', time()) 格式化一個本地時間/日期
③:strtotime() 將任何日期的英文文本的日期時間描述轉化為unix時間戳記
二:tp架構的跳轉和重新導向
1:頁面跳轉
①:success('提示資訊', '跳轉地址', '跳轉時間'); 預設的跳轉地址: $_SERVER['HTTP_REFERER'] 預設的等待時間:1秒
②:error('提示資訊', '跳轉地址', '跳轉時間'); 預設的跳轉地址: javascript:history.back(-1) 預設的等待時間:3秒
2:頁面的重新導向
redirect('URL地址','時間','提示資訊') 僅僅想重新導向一個指定的url地址,而不是某個模組的操作方法。 和U函數的用法一致。
3:U() 產生URL
定義規則:U('地址運算式', ['參數'], ['偽靜態尾碼'], ['顯示網域名稱']);
支援錨點
三:tp架構的模型定義(M,D 方法)
1:直接執行個體化
Model(['模型名'], ['資料表首碼'], ['資料庫連接資訊']); 都可選 大多數情況下無需傳入任何參數即可實現執行個體化
串連資訊支援三種格式
①:字串定義
②:數組定義
③:配置定義
2:D方法執行個體化(執行個體化自訂模型類)
①:\Home\Model\UserModel 類不存在的時候 D方法會嘗試執行個體化公用模組下面的 \Common\Model\UserModel 如果不存在就會執行個體化\Think\Model的基類
②:linux下,注意D方法執行個體化時模型名稱的大小寫
③:跨模組執行個體化模型類的時候,不支援自動載入公用模組的模型類
3:M方法執行個體化模型
①:支援跨庫操作
②:預設直接執行個體化\Think\Model類, 執行個體化其他公用的模型類:$user = M('\Home\Model\COmmonModel:User', 'think_', 'db_config');
③:如果你的模型類有自己的商務邏輯,M方法是無法支援的,就算已經定義了具體的模型類,M方法執行個體化的時候會直接忽略掉
4:執行個體化空模型類(僅僅需要原生SQL查詢)
①:new Model()
②:M()
D()和M()區別 D執行個體化具體的模型類,沒有找到定義的模型類則會自動調用M方法
M是對資料表進行基本的CURD操作,由於不用載入具體的模型類,效能會更高,無需使用者為每個資料表定義模型類
四:C() 和 I()
1:C('參數名稱') 擷取已經設定的參數值 尚未設定返回null
C('參數名稱','新的參數值') 動態配置賦值僅對當前請求有效,不會對以後的請求造成影響 如:動態改變緩衝有效期間
2:I():擷取系統變數和使用者提交的資料
I('變數類型.變數名/修飾符', ['預設值'], ['過濾方法'], ['額外資料來源']) 注意:變數修飾符是3.2.3版本新增
可以支援預設值, 方法過濾(htmlspecialchars: 預定義字串轉化為實體,strip_tags()函數:剝去HTML, XML, PHP標籤), 擷取整個變數類型