thinkphp為一些常用的操作定義了快捷方法,這些方法具有單字母的方法名,具有比較容易記憶的特點。非常有意思的是,這些快捷方法的字母包含了adsl字母,所以我們稱之為adsl方法---引自thinkphp
首先a、d、s、l、c、f、i他們都在/thinkphp/common/functions.php這個檔案中
下面我分別說明一下他們的功能,也可以參照手冊,看源**,資料比較多。
a()載入action類
d()載入model類
m()載入model類
s()全域性快取配置
l()獵取語言定義
c()獵取配置值
f()快速檔案資料讀取和儲存針對簡單型別資料字串、陣列
i()快速闖建乙個物件例項
1.a快速闖建action物件
$action=newuseraction();//等同於以下寫法:
$action=a("user");
而且,如果當前的useraction類還沒有引入的話,a方法會自動引入。並且具有單例模式的支援,不會重複炒建相同的action物件。
a方法支援跨專案呼叫,例如:
$action=a("user"'admin');//例項化admin專案的useraction類
2.d快速闖建模型資料物件
先定義好模型類,如usermodel,然後就可以用d()函式對資料進行操作了。例如:
先在"你的專案"\lib\model下建立乙個名為usermodel.class.php的php指令碼,內容如下:
classusermodelextendsmodel{}
然後,無需增加任何屬性和方法,就可以進行如下操作:
$user=d("user");//例項化user物件,user是你在資料庫建立的乙個名為"字首_user"的資料表
也可以用$user=newusermodel()代替,進行例項化物件的操作。
例項化之後,就可以對資料進行增刪查改等一系列操作了,如:
$user->find(1);//查詢主鍵為1的記錄
3.s快速操作快取方法
thinkphp把各種快取方式都抽象成統一的快取類來呼叫,而且thinkphp把所有的快取機制統一成乙個s方法來進行操作,所以在使用
不同的快取方式的時候並不需要關注具體的快取細節。如:
s('data'$data);//使用data標識快取$data資料
s('data'$data3600);//快取$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(『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方法,所以只能支援簡單資料型別,不支援物件的快取。
m()和c()
區別一,重點在於資料的驗證:
d()和m()的區別主要在於m()方法不需要建立模型類檔案(即./lib/model/下面的檔案),m()方法不會讀取模型類,所以預設情況下自動驗證是無效的,但是可以通過動態賦值的方式實現,而d()方法必須有建立模型類(即./lib/model/下面的檔案)。
區別二,在於模型命名中truetablename的區別:
用了$truetablename後,必須用$test=d(『test』),表示查詢的是test表,如果用的是$test=m(『test』),那麼都表示查詢的資料邊是think_test。
家裡的ADSL佈線
寒假把電腦從學校帶回來了,還好是液晶的,不過機箱還是很重 兩塊硬碟 1臺燒錄機 一塊軟碟機,裝機箱的箱子裡又塞了基本書進去,能不重嗎?千辛萬苦為的是什麼,就是想上上電信網。申請了一周多了上網一直都不滿意,速度還行,就是老斷線。斷了線又連不上,得重啟。今天上網胡亂搜了一番,原來是佈線的問題。和adsl...
ADSL貓的漏洞
adsl貓的漏洞 最近我的寬頻服務到期了,為了能繼續上網,我想了很多辦法,但覺得還是自己再搞個帳號來比較好!於是我在我們學校的ip段,掃瞄了一些電腦,一看有些電腦,開了23斷口,高興!因為可能是adsl的ip,於是登陸進去,沒想到是要密碼,不過,我一看是vking,想是實達的,用預設使用者名稱和密碼...
ADSL的反射弧
處方 http munity.rising.forum msg read.asp?fmid 3 subjectid 5110990 page 1 3.安裝pppoe後啟動速度變慢 故障現象 安裝了adsl的pppoe軟體以後電腦啟動速度慢了。故障分析處理 這和網絡卡設定有問題有關,由於系統啟動時需要...