程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Thinkphp 學習筆記,thinkphp學習筆記

Thinkphp 學習筆記,thinkphp學習筆記

編輯:關於PHP編程

Thinkphp 學習筆記,thinkphp學習筆記


前後台配置:

在根目錄文件夾中創建一個Conf文件夾

Conf文件夾下建立一個config.php文件,裡面存放公共配置信息,方便前後台調用。

 

 

簡單定義404頁面

 

 

偽靜態去除.html

Config中 URL_HTML_SUFFIX  => ‘’

 

分配模版

1:$this ->assign(‘XXX’,$XXX);

2:$this->a = 111;

3:$this->assign(‘xxx’,$xxx)->display();

 

時間戳處理

{$v.time|date='y-m-d H:i',###}

 

分組:

 

分組後 common 文件夾下單獨使用的文件名應該較 function.php 而不是 common.php

 

JS 外部地址不能解析 U函數:

Html頁面:

非應用組寫法:

 

應用組寫法

 

 

後面一個空為處理 偽靜態 .html  去除.html 

 

Js頁面:

 

 

錯誤頁面定制:

Conf文件夾下

 

 

 

數據存入:

1)

 

2):

 

數據讀取:

1):

 

2):

 

 

隨機數:

mt_rand(min,max);

 

U方法去除.html結尾

 

 

驗證碼制作:

 

 

 

SESSION存入數據庫:

1): 配置文件中

 

2):創建數據庫表:

 

 

ThinkPHP常用各種方法

A() 加載Action類 
D() 加載Model類 
S() 全局緩存配置 
L() 獲取語言定義 
C() 獲取配置值
F() 快速文件數據讀取和保存 針對簡單類型數據 字符串、數組
U() 用於完成對URL地址的組裝
I() 快速創建一個對象實例

1.A 快速創建Action對象

$action=new UserAction();// 等同於以下寫法:$action=A("User");而且,如果當前的UserAction類還沒有引入的話,A方法會自動引入。並且具有單例模式的支持,不會重復創建相同的Action對象。

A方法支持跨項目調用,例如:
 
$action=A("User",'Admin'); //實例化Admin項目的UserAction類

2.D 快速創建模型數據對象
 
先定義好模型類,如UserModel,然後就可以用D()函數對數據進行操作了。例如:
 
先在"你的項目"/Lib/Model下建立一個名為UserModel.class.php的PHP腳本,內容如下:
 
class UserModel extends Model{}

然後,無需增加任何屬性和方法,就可以進行如下操作:
 
$User=D("User"); //實例化User對象,User是你在數據庫建立的一個名為"前綴_user"的數據表,也可以用$User=new UserModel()代替,進行實例化對象的操作。實例化之後,就可以對數據進行增刪查改等一系列操作了,如:
 
$User->find(1); //查找主鍵為1的記錄

我們在做用戶金幣或者是積分或者是投票的時候,需要對指定的字段自加1這時候我可以可以這樣寫

$User->score='(score+1)';$s->save(); 這樣我們會省下許多的步驟。

如果要修改指定的一個字段更可以簡寫為如下:

D('User')->setField('name','hehe','id=2');

D 方法和 M 方法的區別主要在於:

M方法不需要創建模型類文件,M方法不會讀取模型類,所以默認情況下自動驗證是無效的,但是可以通過動態賦值的方式實現;而D方法必須有創建模型類,我們可以用下面兩種方法去創建一個數據表的映射對象。

第一種:$Test=D('Test');

第二種:$Test=new Model('Test');

雖然這兩種都可以對數據進行select,insert,delete,udpate操作,在數據驗證上有很大的不同,用第一種方式實例一個模型就 會有數據檢查功能,例如可以定義如果 title 沒有填寫的話就會提示 “請輸入標題” (這個是tp提供的一個自動驗證功能,當然也需要在相應的 model 中定義好驗證條件);

D方法可以自動檢測模型類,不存在時他會拋出一個異常。同時對於已實例化得得模型不會再去重復實例化(單例)。默認的D方法只能支持調用當前的項目(或者叫做應用)下的模型。例如:

$user=new UserModel();

等價於$user=D('user');

如果實例化的是一個空模型,例如:

$Demo=new Model();

那麼它等價於:

$Demo=M();
 
3.S 快速操作緩存方法
 
ThinkPHP把各種緩存方式都抽象成統一的緩存類來調用,而且ThinkPHP把所有的緩存機制統一成一個S方法來進行操作,所以在使用不同的緩存方式的時候並不需要關注具體的緩存細節。如:

S('data',$Data); //使用data標識緩存$Data數據 
S('data',$Data,3600); //緩存$Data數據3600秒 
$Data=S('data'); //獲取緩存數據 
S('name',null); // 刪除緩存標識name
 
4.L 快速操作語言變量

L方法提供了多語言的支持,可以快速設置和獲取語言定義。

L('USER_INFO','用戶信息'); //設置名稱為USER_INFO 的語言變量 
L('USER_INFO'); //獲取USER_INFO的語言變量值 
//批量賦值 
$array['USER_INFO']='用戶信息';$array['ERROR_INFO']='錯誤信息'; 
L($array);

5.C 快速操作配置變量,用法就是 C("這裡填寫在配置文件裡數組的下標")

C('USER_AUTH_ON',true); //設置名稱為USER_AUTH_ON 的配置參數 
C('USER_AUTH_ON'); //獲取USER_AUTH_ON的變量值

同L一樣,C也支持批量賦值
 
注意:配置參數不區分大小寫

此外從1.5版本開始,C方法還支持二維數組的操作,例如:
 
C('USER.USER_TYPE',1); 
C('USER.USER_AUTH_ON');  

6. F 文件數據保存方法

F方法主要用於項目的文件數據的寫入、更改和刪除,其工作機理和S方法是類似的,區別在於用途不同,數據保存的目錄也不同,而且不能指定緩存方式,因為默認就是文件形式保存數據。F方法使用了var_export方法,所以只能支持簡單數據類型,不支持對象的緩存。

7. U 用於完成對URL地址的組裝,特點在於可以自動根據當前的URL模式和設置生成對應的URL地址

該函數格式為:U('地址','參數','偽靜態','是否跳轉','顯示域名');在模板中使用U方法而不是固定寫死URL地址的好處在於,一旦 你的環境變化或者參數設置改變,你不需要更改模板中的任何代碼。在模板中的調用格式需要采用 {:U('地址', '參數'…)} 的方式。

U方法的用法示例:

U('User/add') // 生成User模塊的add操作地址

也可以支持分組調用:

U('Home/User/add') // 生成Home分組的User模塊的add操作地址

當然,也可以只是寫操作名,表示調用當前模塊的

U('add') // 生成當前訪問模塊的add操作地址

除了分組、模塊和操作名之外,我們也可以傳入一些參數:

U('Blog/read?id=1') // 生成Blog模塊的read操作 並且id為1的URL地址

U方法的第二個參數支持傳入參數,支持數組和字符串兩種定義方式,如果只是字符串方式的參數可以在第一個參數中定義,下面幾種方式都是等效的:

U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')

 

導入 CSS/JS 文件

<js href=”__PUBLIC__/Js/Common.js” />

<css href=”__PUBLIC__/Css/Common.css” />

 

 

 

 

 

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