php框架tp3.2使用手冊隨筆

入口文件:index.php
目錄結構:
一、application //應用程序目錄php

config //配置文件目錄css

controllers //控制器目錄ajax

admin //後臺控制器目錄數據庫

home //前臺控制器目錄數組

models //數據庫模型目錄緩存

views //視圖目錄安全

admin

home
二、framework //框架目錄
core //框架核心類
databases //數據庫驅動類
helpers //輔助函數目錄
libraries //類庫目錄
三、public //前臺靜態資源目錄
css
images
js
uploads //文件上傳目錄app

四、index.php //入口文件
控制器:框架

控制器類的命名方式是:控制器名(駝峯法,首字母大寫)+Controller函數

控制器文件的命名方式是:類名+class.php(類文件後綴)

 控制器方法:

C()用於設置,獲取以及保存配置參數的方法

M()鏈接表名

U()用於URL的動態生成:只須要寫模塊文件名/控制器/方法

  ajaxReturn($data,數據格式):返回AJAX格式的數據

  success(‘提示內容’,‘頁面地址’,‘跳轉時間’):當頁面出現錯誤的時候跳轉到上一個頁面;

I(‘變量類型.下標’,獲取失敗返回的數值/字符串,對變量進行過濾;獲取系統輸入變量

  I(‘變量類型,變量名/修飾符’);s=>字符串;d=>整型,b=>布爾,a=>數組,f=>浮點

請求類型

  IS_POST :  判斷是否以POST方式提交

  IS_GET : 判斷是否以GET方式提交

  IS_AJAX : 判斷是否以AJAX方式提交

WHERE

  $uer = M("數據表名「);/實例化對象

  $data=$uer->where()->select()//帶條件的查詢語句

ALIAS

  $data = $uer ->alias('a')//設置鏢的別名

FIELD用於查詢

  field()//返回須要的字段

ORDER

  order(‘字段 排序方法’)//對數據進行排列asc 正常排序desc倒敘

LIMIT  限制結果數量

  limit()限制結果數量  也能夠是數量區間

PAGE 分頁

  page(‘頁碼,數量條數’)

GROUP

  group()分組

JOIN 多表鏈接

  完整示例:

  $table = M(‘表名’);

  $data = $table->field('須要查詢的字段')

  ->join(表1 on   表2 .字段=表1.字段)

  ->join(表3 on    表2.字段=表3.字段)

  ->select();

 

 

                        模板

默認的模板文件定義規則:視圖目錄/[模板主題/]控制器名/操做名+模板後綴

assign方法對模板變量賦值:$this->assign('name',$value);

  assign方法必須在display和show方法以前調用,而且系統只會輸出設定的變量,其它變量不會輸出(系統變量例外),必定程度上保證了變量的安全性。賦值   後,就能夠在模板文件中輸出變量了,若是使用的是內置模板的話,就能夠這樣輸出: 

渲染模板調用格式:display('[模板文件]'[,'字符編碼'][,'輸出類型'])   

// 不帶任何參數 自動定位當前操做的模板文件   $this->display();
  // 指定模板輸出   $this->display('edit');
  //表示調用當前控制器下面的edit模板
  $this->display('Member:read');

輸出變量

  例如,在控制器中咱們給模板變量賦值:

    $name = 'ThinkPHP';     $this->assign('name',$name);     $this->display(); 

  而後就能夠在模板中使用:

    Hello,{$name}! 

  模板編譯後的結果就是:

 Hello,<?php echo($name);?>!
//注意模板標籤的{$之間不能有任何的空格,不然標籤無效。  {$

  普通標籤默認開始標記是{,結束標記是 }。也能夠經過設置TMPL_L_DELIMTMPL_R_DELIM進行更改。

使用函數:

  {$data.name|md5} 

  多個參數須要調用

  {$create_time|date="y-m-d",###}

  多個函數之間用「|」分割

  函數會按照從左到右的順序依次調用。

三元運算符

{$status?'正常':'錯誤'} {$info['status']?$info['msg']:$info['error']}

注意:三元運算符中暫時不支持點語法。

內置標籤

標籤名 做用 包含屬性
include 包含外部模板文件(閉合) file
import 導入資源文件(閉合 包括js css load別名) file,href,type,value,basepath
volist 循環數組數據輸出 name,id,offset,length,key,mod
foreach 數組或對象遍歷輸出 name,item,key
for For循環數據輸出 name,from,to,before,step
switch 分支判斷輸出 name
case 分支判斷輸出(必須和switch配套使用) value,break
default 默認狀況輸出(閉合 必須和switch配套使用)
compare 比較輸出(包括eq neq lt gt egt elt heq nheq等別名) name,value,type
range 範圍判斷輸出(包括in notin between notbetween別名) name,value,type
present 判斷是否賦值 name
notpresent 判斷是否還沒有賦值 name
empty 判斷數據是否爲空 name
notempty 判斷數據是否不爲空 name
defined 判斷常量是否認義 name
notdefined 判斷常量是否未定義 name
define 常量定義(閉合) name,value
assign 變量賦值(閉合) name,value
if 條件判斷輸出 condition
elseif 條件判斷輸出(閉合 必須和if標籤配套使用) condition
else 條件不成立輸出(閉合 可用於其餘標籤)
php 使用php代碼

  volist標籤

  volist標籤一般用於查詢數據集(select方法)的結果輸出,一般模型的select方法返回的結果是一個二維數組,能夠直接使用volist標籤進行輸出。

<volist name="list" id="vo"> {$vo.id}:{$vo.name}<br/> </volist>  

if標籤

<if condition="$id < 5 ">value1 <else /> value2 </if>

模板替換

__ROOT__: 會替換成當前網站的地址(不含域名) 
__APP__: 會替換成當前應用的URL地址 (不含域名)
__MODULE__:會替換成當前模塊的URL地址 (不含域名)
__CONTROLLER__(__或者__URL__ 兼容考慮): 會替換成當前控制器的URL地址(不含域名)
__ACTION__:會替換成當前操做的URL地址 (不含域名)
__SELF__: 會替換成當前的頁面URL
__PUBLIC__:會被替換成當前網站的公共目錄 一般是 /Public

 

                                    調試模式

通常位於入口文件(tp3.2/index.php)中。

 // 開啓調試模式                                 // 關閉調試模式

  define('APP_DEBUG', true);                    define('APP_DEBUG', false);

 優點:

  • 開啓日誌記錄,任何錯誤信息和調試信息都會詳細記錄,便於調試;
  • 關閉模板緩存,模板修改能夠即時生效;
  • 記錄SQL日誌,方便分析SQL;
  • 關閉字段緩存,數據表字段修改不受緩存影響;
  • 嚴格檢查文件大小寫(即便是Windows平臺),幫助你提早發現Linux部署可能致使的隱患問題;
  • 經過頁面Trace功能更好的調試和發現錯誤;

 

                                 緩存

數據緩存

// 設置緩存              // 緩存數據300秒          // 讀取緩存              // 刪除緩存
S('name',$value);            S('name',$value,300);        $value = S('name');          S('name',null);
緩存路徑: tp3.2/Application/Runtime/Temp

快速緩存

快速緩存Data數據    快速緩存Data數據,保存到指定的目錄    獲取緩存數據        刪除緩存數據

F('data',$Data);      F('data',$Data,TEMP_PATH);          $Data = F('data');        F('data',NULL);
緩存路徑:  tp3.2/Application/Runtime/Data
相關文章
相關標籤/搜索