版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.2 框架初始的目錄結(jié)構(gòu)如下:www WEB 部署目錄(或者子目錄)| index.php 入口文件| README.md README 文件| Application 應(yīng)用目錄|Public資源文件目錄1Th in kPHP 框架目錄3.2 版本自帶了一個(gè)完整的應(yīng)用目錄結(jié)構(gòu)和默認(rèn)的應(yīng)用入口文件。其中,Application 和Public 目錄下面都是空的。README.md 文件僅用于說(shuō)明,實(shí)際部署的時(shí)候可以刪除。 上面的目錄結(jié)構(gòu)和名稱是可以改變的,這取決于你的入口文件和配置參數(shù)。Application 目錄默認(rèn)是空的, 但是第一次訪問(wèn)入口文件會(huì)自動(dòng)生成, 參考后面的入口文件部 分。其中
2、框架目錄 ThinkPHP 的結(jié)構(gòu)如下:| ThinkPHP 框架系統(tǒng)目錄(可以部署在非 web 目錄下面)| Com mon核心公共函數(shù)目錄| Conf核心配置目錄|Lang核心語(yǔ)言包目錄|Library框架類庫(kù)目錄|Thi nk核心Th ink類庫(kù)包目錄| Behavior 行為類庫(kù)目錄|Org Org類庫(kù)包目錄| Vendor 第三方類庫(kù)目錄| . 更多類庫(kù)目錄|Mode 框架應(yīng)用模式目錄|Tpl 系統(tǒng)模板目錄|LICENSE.txt 框架授權(quán)協(xié)議文件| logo.png 框架 LOGO 文件|README.txt 框架 README 文件|1 index.php 框架入口文件上述應(yīng)用的
3、目錄結(jié)構(gòu)只是默認(rèn)設(shè)置, 事實(shí)上, 在實(shí)際部署應(yīng)用的時(shí)候, 我們建議除了應(yīng)用入口文件和 Public 資源目錄外,其他文件都放到非 WEB 目錄下面,具有更好的安全性。入口文件:define(APP_PATH,./Apps/);define(DIR_SECURE_FILENAME, default.html);/ 支 持 多 個(gè) 安 全 文 件 寫(xiě) 入 define(DIR_SECURE_FILENAME, index.html,index.htm);/ 默認(rèn)的安全文件只是寫(xiě)入一個(gè)空 白字符串,如果需要寫(xiě)入其他內(nèi)容,可以通過(guò) DIR_SECURE_CONTENT 參數(shù)來(lái)指定 define(DIR
4、_SECURE_CONTENT, deney Access!);define(RUNTIME_PA TH,./Runtime/);define(APP_DEBUG,True);define(THINK_PA TH,realpath(./Think)./);require THINK_PATH.ThinkPHP.php;/require ./ThinkPHP/ThinkPHP.php;* 配置文件的定義格式均采用返回 PHP 數(shù)組的方式* 慣例配置文件(位于 ThinkPHP/Conf/convention.php )*應(yīng)用配置文件調(diào)用所有模塊之前都會(huì)首先加載的公共配置文件(默認(rèn)位于 Appli
5、cation/Common/Conf/config.php )/tp/home/index/indexhttp:/serverName/index.php/Home/Index/index http:/localhost/?m=home&c=user&a=login&var=value獲取已經(jīng)設(shè)置的參數(shù)值:C(參數(shù)名稱)設(shè)置新的值:C(參數(shù)名稱,新的參數(shù)值);擴(kuò)展配置可以支持自動(dòng)加載額外的自定義配置文件,并且配置格式和項(xiàng)目配置一樣。設(shè)置擴(kuò)展配置的方式如下(多個(gè)文件用逗號(hào)分隔) :/ 加載擴(kuò)展配置文件LOAD_EXT_CONFIG = user,db,獲取變量1(變量類型變量名,默認(rèn)值,過(guò)濾方法
6、)變量類型 含義get 獲取 GET 參數(shù)post 獲取 POST 參數(shù)param自動(dòng)判斷請(qǐng)求類型獲取GET、POST或者PUT參數(shù)request 獲取 REQUEST 參數(shù)put 獲取 PUT 參數(shù)session 獲取 $_SESSION 參數(shù) cookie 獲取 $_COOKIE 參數(shù) server 獲取 $_SERVER 參數(shù) globals 獲取 $GLOBALS 參數(shù)echo l(get.id); / 相當(dāng)于 $_GETidecho I(); / 相當(dāng)于 $_GETnameecho I(get.id,0); / 如果不存在 $_GETid則返回 0echo I(,); / 如果不存在
7、 $_GETname 則返回空字符串采用方法過(guò)濾:/ 采用 htmlspecialchars 方法對(duì) $_GETname 進(jìn)行過(guò)濾,如果不存在則返回空字符串 echo I(,htmlspecialchars);/ 獲取整個(gè) $_GET 數(shù)組I(get.);由于 param 類型是 I 函數(shù)默認(rèn)獲取的變量類型, 因此事實(shí)上 param 變量類型的寫(xiě)法可以簡(jiǎn)化 為:I(id); / 等同于 I(param.id)I(name); / 等同于 I()param 類型變量還可以用數(shù)字索引的方式獲取URL 參數(shù)(必須是 PATHINFO 模式參數(shù)有效,無(wú)論是 GET 還是 POST 方 式 都 有 效
8、) , 例 如 : 當(dāng) 前 訪 問(wèn) URL 地 址 是 http:/serverName/index.php/New/2013/06/01那么我們可以通過(guò)echo I(param.1); / 輸出 2013echo I(param.2); / 輸出 06echo I(param.3); / 輸出 01/ 下面兩種方式都不采用任何過(guò)濾方法I(,);I(get.id,false);判斷請(qǐng)求類型常量 說(shuō)明IS_GET判斷是否是GET 方式提交IS_POST判斷是否是POST 方式提交IS_PUT判斷是否是PUT 方式提交IS_DELETE判斷是否是DELETE 方式提交IS_AJAX判斷是否是AJA
9、X 提交REQUEST_METHOD 當(dāng)前提交類型AJAX 返回$data = ok;$this-ajaxReturn($data);$(function()$(button).bind(click,function()$.get(_URL_/getajax/id/$_GETid,function(jdate) if(jdate.status=1)$(.about_c p b).html(jdate.data)空操作空操作是指系統(tǒng)在找不到請(qǐng)求的操作方法的時(shí)候, 會(huì)定位到空操作 ( _empty )方法來(lái)執(zhí)行, 利用這個(gè)機(jī)制,我們可以實(shí)現(xiàn)錯(cuò)誤頁(yè)面和一些 URL 的優(yōu)化。使用函數(shù)$|md5$cre
10、ate_time|date=y-m-d,#/ 表示 date 函數(shù)傳入兩個(gè)參數(shù),每個(gè)參數(shù)用逗號(hào)分割,這里 第一個(gè)參數(shù)是 y-m-d ,第二個(gè)參數(shù)是前面要輸出的 create_time 變量,因?yàn)樵撟兞渴堑诙€(gè) 參數(shù),因此需要用 #標(biāo)識(shí)變量位置,$|substr=0,3 / 前面輸出的變量在后面定義的函數(shù)的第一個(gè)參數(shù) $name|md5|strtoupper|substr=0,3 / 支持多個(gè)函數(shù)過(guò)濾,多個(gè)函數(shù)之間用“|”分割:substr(strtoupper(md5($name),0,3)默認(rèn)值輸出$user.nickname|default= 這家伙很懶,什么也沒(méi)留下 包含文件 *f.ht
11、ml:titleVolist 標(biāo)簽 $vo.id:$輸出其中的第515條記錄 $輸出偶數(shù)記錄$Mod 屬性還用于控制一定記錄的換行$vo.uname為空的時(shí)候輸出提示:$vo.id|$輸出循環(huán)變量$k.$如果沒(méi)有指定 key 屬性的話,默認(rèn)使用循環(huán)變量i ,例如:$i.$Foreach 標(biāo)簽$key|$vo.id:$可以定義索引的變量名$k|$vo.id:$For 標(biāo)簽開(kāi)始值、 結(jié)束值、 步進(jìn)值和循環(huán)變量都可以支持變量, 開(kāi)始值和結(jié)束值是必須, 其他是可 選。comparison的默認(rèn)值是It; name的默認(rèn)值是i,步進(jìn)值的默認(rèn)值是1 Switch 標(biāo)簽 輸出內(nèi)容 1輸出內(nèi)容 2 默認(rèn)情況對(duì)
12、 于 case 的 value 屬性 可 以支 持 多個(gè)條 件的 判 斷, 使 用”|”進(jìn)行 分割 圖像格式 比較標(biāo)簽內(nèi)容標(biāo)簽含義eq 或者 equal 等于neq 或者 notequal 不等于gt大于egt大于等于lt小于elt小于等于heq恒等于nheq不恒等于范圍判斷標(biāo)簽IN 和 NOTINid 在范圍內(nèi)id 不在范圍內(nèi)BETWEEN 和 NOTBETWEEN 輸出內(nèi)容 1RANGE 輸出內(nèi)容 1其中 type 屬性的值可以用 in/notin/between/notbetweenIF 標(biāo)簽value1value2value3在 condition 屬性中可以支持 eq 等判斷表達(dá)式,
13、同上面的比較標(biāo)簽,但是不支持帶 有” ”、” ”等符 號(hào)的用法,因?yàn)闀?huì)混淆模板解析Present 標(biāo)簽present 標(biāo)簽用于判斷某個(gè)變量是否已經(jīng)定義name 已經(jīng)賦值判斷沒(méi)有賦值 name 還沒(méi)有賦值 name 已經(jīng)賦值name 還沒(méi)有賦值Empty 標(biāo)簽empty 標(biāo)簽用于判斷某個(gè)變量是否為空name 為空值 如果判斷沒(méi)有賦值name 不為空name 為空name 不為空Defined 標(biāo)簽DEFINED 標(biāo)簽用于判斷某個(gè)常量是否有定義 NAME 常量已經(jīng)定義 如果判斷沒(méi)有被定義NAME 常量未定義NAME 常量已經(jīng)定義NAME 常量未定義Assign 標(biāo)簽SSIGN 標(biāo)簽用于在模板文件中
14、賦值變量Define 標(biāo)簽DEFINE 標(biāo)簽用于中模板中定義常量標(biāo)簽嵌套輸出雙重循環(huán)$import 標(biāo)簽原樣輸出可以使用 literal 標(biāo)簽來(lái)防止模板標(biāo)簽被解析 value1value2 value3模板注釋單行注釋 /* 注釋內(nèi)容 */ 或 / 注釋內(nèi)容 多行注釋/* 這是模板注釋內(nèi)容 */ 模板替換_ROOT_ : 會(huì)替換成當(dāng)前網(wǎng)站的地址(不含域名)_APP_ : 會(huì)替換成當(dāng)前應(yīng)用的 URL 地址 (不含域名)_MODULE_ :會(huì)替換成當(dāng)前模塊的 URL 地址 (不含域名)_CONTROLLER (_或者 _URL_ 兼容考慮): 會(huì)替換成當(dāng)前控制器的 URL 地址(不含 域名)_AC
15、TION_ :會(huì)替換成當(dāng)前操作的 URL 地址 (不含域名)_SELF_ : 會(huì)替換成當(dāng)前的頁(yè)面 URL_PUBLIC_ :會(huì)被替換成當(dāng)前網(wǎng)站的公共目錄通常是 /Public/文件上傳 :頁(yè)面: 文件: 程序:public function upload()$upload = new ThinkUpload();/ 實(shí)例化上傳類$upload-maxSize = ini_get(upload_max_filesize)*1024*1024;/ 設(shè)置附件上傳大小$upload-exts = array(jpg, gif, png, jpeg);/ 設(shè)置附件上傳類型 $upload-savePat
16、h = ./uploads/; / 設(shè)置附件上傳目錄/ 上傳文件$info = $upload-upload();if(!$info)/ 上傳錯(cuò)誤提示錯(cuò)誤信息$this-error($upload-getError();else/ 上傳成功$this-success(上傳成功!);echo ;或者public function upload()$config = array(maxSize = ini_get(upload_max_filesize)*1024*1024,savePath = ./uploads/,saveName = array(uniqid,),exts = array(j
17、pg, gif, png, jpeg),autoSub = true,subName = array(date,Ymd),);$upload = new ThinkUpload($config);/ 實(shí)例化上傳類/ 上傳文件$info = $upload-upload();if(!$info)/ 上傳錯(cuò)誤提示錯(cuò)誤信息$this-error($upload-getError();else/ 上傳成功$this-success(上傳成功!);echo ; 驗(yàn)證碼$Verify = new ThinkVerify();$Verify-entry();$config = array(fontSize
18、= 30, / 驗(yàn)證碼字體大小length = 3, / 驗(yàn)證碼位數(shù)useNoise = false, / 關(guān)閉驗(yàn)證碼雜點(diǎn));$Verify = new ThinkVerify($config);$Verify-entry();驗(yàn)證碼檢測(cè)/ 檢測(cè)輸入的驗(yàn)證碼是否正確, $code 為用戶輸入的驗(yàn)證碼字符串function check_verify($code, $id = )$verify = new ThinkVerify();return $verify-check($code, $id);圖像處理使用 open 方法打開(kāi)圖像文件進(jìn)行相關(guān)操作:$image = new ThinkImage
19、();$image-open(./1.jpg);獲取圖像信息$width = $image-width(); / 返回圖片的寬度$height = $image-height(); / 返回圖片的高度$type = $image-type(); / 返回圖片的類型$mime = $image-mime(); / 返回圖片的 mime 類型$size = $image-size(); / 返回圖片的尺寸數(shù)組 0 圖片寬度 1 圖片高度 裁剪圖片(使用crop和save方法完成裁剪圖片功能)/將圖片裁剪為 400 x400 并保存為 corp.jpg$image-crop(400, 400)-sa
20、ve(./crop.jpg); 支持從某個(gè)坐標(biāo)開(kāi)始裁剪,例如下面從(100, 30)開(kāi)始裁剪:/將圖片裁剪為 400 x400 并保存為 corp.jpg$image-crop(400, 400,100,30)-save(./crop.jpg);生成縮略圖 (使用 thumb 方法生成縮略圖 )/ 按照原圖的比例生成一個(gè)最大為 150*150 的縮略圖并保存為 thumb.jpg $image-thumb(150, 150)-save(./thumb.jpg);添加圖片水印/將圖片裁剪為 440 x440 并保存為 corp.jpg$image-crop(440, 440)-save(./cr
21、op.jpg);/ 給裁剪后的圖片添加圖片水印(水印文件位于./logo.png ),位置為右下角,保存為 water.gif$image-water(./logo.png)-save(water.jpg);/ 給原圖添加水印并保存為 water_o.gif (需要重新打開(kāi)原圖)$image-open(./1.jpg)-water(./logo.png)-save(water_o.jpg);IP 獲取和定位$ip = get_client_ip();$User = M(User); / 實(shí)例化 User 對(duì)象 $result = $User-find(1);$result = $User-li
22、mit(10)-select();在 thinkphp 里面執(zhí)行原生的 sql 語(yǔ)句$Model = new Model();/ 或者 $Model = D(); 或者 $Model = M();$sql = select * from order;$voList = $Model-query($sql);只是需要 new 一個(gè)空的模型繼承 Model 中的方法。注意query是查功能,execute是增刪改功能調(diào)試執(zhí)行的 SQL 語(yǔ)句echo $User-getLastSql();封裝的 add 語(yǔ)句$model = M(WxuserCollection);$data = array(use
23、r_id =$user_id, store_id =$store_id, good_id =$good_id, addtime =$addtime);$model -data($data) -add();封裝的修改 edit 語(yǔ)句$model = M(WxuserCollection);$data = array(user_id =$user_id, store_id =$store_id, good_id =$good_id, addtime =$addtime);$model -data($data) -where(id=3) -save();find()$model = M(Wxuser
24、Collection);$res1 = $model -find(1);$res2 = $model -find(2);$res3 = $model -where(good_id=1105 AND store_id = 1 AND user_id = 20) -find();find獲取一條數(shù)據(jù),find(1)獲取id為1的數(shù)據(jù),find(2)獲取id為2的數(shù)據(jù)。最后一個(gè)是獲取 條件為 where 的中的第一條數(shù)據(jù)。select()$model = M(WxuserCollection);$res = $model -where(good_id=1105 AND store_id = 1 AN
25、D user_id = 20) -field(id,good_id as good) -select();delete()$model = M(WxuserCollection);$res = $model -where(id=1) -delete(); / 成功返回 1 失敗返回 0 field()$model = M(WxuserCollection);$res = $model -field(id,good_id as good) -select();$res = $model -field(array(id, good_id =good) -select();$res = $model
26、 -field(id, true) -select();/ 表示獲取處理 id 之外的所有字段。 字符串,數(shù)組兩種方式order()$model = M(WxuserCollection);$res = $model -order(id desc) -select();$res = $model -order(id asc) -select();$res = $model -order(array(id =desc) -select();$res = $model -order(array(id) -select(); 字符串,數(shù)組兩種方式,默認(rèn)asc。join()$Model-join( w
27、ork ON artist.id = work.artist_id)-join(card ON artist.card_id = card.id)-select();$Model-join(RIGHT JOIN work ON artist.id = work.artist_id)-select();$Model-join(array( work ON artist.id = work.artist_id,card ON artist.card_id = card.id)-select();默認(rèn)采用 LEFT JOIN 方式,如果需要用其他的JOIN 方式,可以改成第二種,如果 join 方法的參數(shù)用數(shù)組的話,只能使用一次 join 方法,并且不能和字符串方式混合使 用。setInc()$User = M(User); / 實(shí)例化 User 對(duì)象$User-where(id=5)-setInc(score,3); / 用戶的積分加 3 $
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部審計(jì)與風(fēng)險(xiǎn)控制制度
- 2026湖南郴州市市直學(xué)校面向高校畢業(yè)生公開(kāi)招聘教師25人參考題庫(kù)附答案
- 2026福建三明市衛(wèi)生健康委員會(huì)關(guān)于醫(yī)療衛(wèi)生高層次人才專項(xiàng)公開(kāi)招聘39人的通告參考題庫(kù)附答案
- 2026福建省面向同濟(jì)大學(xué)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026福建龍巖人民醫(yī)院招聘醫(yī)學(xué)類緊缺急需專業(yè)畢業(yè)生4人備考題庫(kù)附答案
- 公共交通運(yùn)營(yíng)成本核算制度
- 2026遼寧省中國(guó)醫(yī)科大學(xué)及附屬第一醫(yī)院招聘高層次和急需緊缺人才2人(第二批)備考題庫(kù)附答案
- 2026重慶某國(guó)有企業(yè)員工招聘2人備考題庫(kù)附答案
- 2026陜西省面向北京郵電大學(xué)招錄選調(diào)生參考題庫(kù)附答案
- 北京中西醫(yī)結(jié)合醫(yī)院編外崗位招聘10人參考題庫(kù)附答案
- 大型商業(yè)綜合體消防安全應(yīng)急預(yù)案
- 《砂漿、混凝土用低碳劑》
- 2025年社區(qū)工作總結(jié)及2026年工作計(jì)劃
- 無(wú)人機(jī)性能評(píng)估與測(cè)試計(jì)劃
- 2025年保安員(初級(jí))考試模擬100題及答案(一)
- 湖北省新八校協(xié)作體2025-2026學(xué)年度上學(xué)期高三10月月考 英語(yǔ)試卷(含答案詳解)
- 酒駕滿分考試題庫(kù)及答案2025
- 金礦開(kāi)采提升項(xiàng)目可行性研究報(bào)告
- 華潤(rùn)燃?xì)獍踩嘤?xùn)
- 包鋼集團(tuán)歷年筆試題庫(kù)及答案
- 2025版實(shí)驗(yàn)動(dòng)物中心動(dòng)物實(shí)驗(yàn)動(dòng)物飼養(yǎng)合同
評(píng)論
0/150
提交評(píng)論