總結ThinkPHP使用技巧經驗分享 二

2021-09-07 11:11:32 字數 3460 閱讀 4165

迴圈輸出

volist 還有別名 iterate

模版賦值:

$user = d('user')

$list = $user->findall()

$this->assign('list',$list)

模版定義:

注意 name 和 id 表示的含義

// 輸出 list 的第 5~15 條記錄

// 輸出偶數記錄

// 輸出 key.

//子迴圈輸出

switch 標籤

value1

value2

default

其 中name 屬性可以使用函式以及系統變數,例如:

admin

default

也 可以對case 的 value 屬性使用變數,例如:

admin

member

default

比較標籤

value // name 變數的值等於 value 就輸出

value // name 變數的值不等於 value 就輸出

value // name 變數的值大於 5 就輸出

value // name 變數的值大於等於 5 就輸出

value // name 變數的值小於 5 就輸出

value // name 變數的值小於等於 5 就輸出

//其實上面的所有標籤都是 compare 標籤的別名

// 其中 type 屬性的值就是上面列出的判斷標籤名稱

value // name 變數的值等於 5 就輸出

if標籤

value1

value2

value3

c操作

操作(動態)配置: 主要用於action方法裡面

獲取:c('配置引數')

設定:c('配置引數 ',新值)

a操作

快速建立action物件:

$action = a('user');

等效於$action = new useraction();

d操作

快速建立模型資料物件:

$model = d('user');

等效於$model = new usermodel();

s操作

快速操作快取方法

獲取:s('name')

設定:s('name','value');

刪 除:

s('name',null);

f操作

快速檔案資料儲存方法

使用方法與s操作一樣

l操作

快速操作語言變數

獲取:l('語言變數');

設定:l('語言變數','值');

如: l('user_info','使用者資訊'); //設定名稱為user_info的語言變數

批量賦值:

$arr['語言變數1'] = '值1';

$arr['語言變數2'] = '值2';

l($arr);

thinkphp系統常量

think_path // thinkphp 系統目錄

module_name //當前模組名稱

action_name // 當前操作名稱

tmpl_path // 專案模版目錄

lib_path // 專案類庫目錄

cache_path // 專案模版快取目錄

config_path //專案配置檔案目錄

log_path // 專案日誌檔案目錄

lang_path // 專案語言檔案目錄

temp_path //專案臨時檔案目錄

plugin_path // 專案外掛程式檔案目錄

vendor_path // 第三方類庫目錄

data_path // 專案資料檔案目錄

is_apache // 是否屬於 apache

is_iis //是否屬於 iis

is_win //是否屬於windows 環境

is_linux //是否屬於 linux 環境

is_freebsd //是否屬於 freebsd 環境

now_time // 當前時間戳

memory_limit_on // 是否有記憶體使用限制

memory_limit_on // 是否有記憶體使用限制

output_gzip_on // 是否開啟輸出壓縮

magic_quotes_gpc // magic_quotes_gpc

think_version //thinkphp 版本號

lang_set // 瀏覽器語言

template_name //當前模版名稱

template_path //當前模版路徑

__url__ // 當前模組位址

__action__ // 當前操作位址

__self__ // 當前 url 位址

tmpl_file_name //當前操作的預設模版名(含路徑)

web_public_url //**公共目錄

預定義常量

web_log_error=0 // 錯誤日誌型別

web_log_debug=1 // 除錯日誌型別

sql_log_debug=2 // sql 日誌型別

system_log=0 // 系統方式記錄日誌

mail_log=1 // 郵件方式記錄日誌

tcp_log=2 // tcp 方式記錄日誌

file_log=3 // 檔案方式記錄日誌

data_type_obj=1 // 物件方式返回

data_type_array=0 // 陣列方式返回

url_common=0 // 普通模式 url

url_pathinfo=1 // pathinfo url

url_rewrite=2 // rewrite url

has_one=1 // has_one 關聯定義

belongs_to=2 // belongs_to 關聯定義

has_many=3 // has_many 關聯定義

many_to_many=4 // many_to_many 關聯定義

exists_vailidate = 0 // 表單存在欄位則驗證

must_validate = 1 // 必須驗證

value_vailidate = 2 // 表單值不為空則驗證

must_to_validate 已經是 must_validate 了,類似的請注意。

volist中的mod表示對key值取模;eq裡的mod變數表示餘數,當餘數為1時,則key是1,3,5...(key是從0開始的)得到偶數

ThinkPHP使用技巧

1 讓runtime下的檔案格式化 入口檔案處 define strip runtime space false 2 開發時不進行快取 入口檔案處 define no cache runtime true 3 thinkphp支援四種訪問模式 a 普通模式 b pathinfo模式 c rewrit...

Google protobuf使用技巧和經驗

google protobuf是非常出色的開源工具,在專案中可以用它來作為服務間資料互動的介面,例如rpc服務 資料檔案傳輸等。protobuf為proto檔案中定義的物件提供了標準的序列化和反序列化方法,可以很方便的對pb物件進行各種解析和轉換。以下是我總結的protobuf使用技巧和經驗,分享給...

thinkPHP 模板的使用技巧(十三)

原文 thinkphp 模板的使用技巧 十三 模板的使用技巧 頁面跳轉 模板包含 模板渲染 模板的繼承 頁面跳轉 我要跳轉到首頁面,用這個方法!一 模板包含 完整路徑 匯入當前模組下的read操作模板 包含public模組下的header操作模板,注意不需要header控制器支援,只要public下...