1.入口文件中定義的內容 2.U方法的參數規則 ('地址表達式',['參數'],['偽靜態尾碼'],['顯示功能變數名稱']) 3.如何判斷請求類型,常用的請求方式有哪兩種,I方法的參數規則? 註意:變數類型不區分大小寫。 變數名則嚴格區分大小寫。 預設值和過濾方法均屬於可選參數。 4.成功和失敗,重定向跳 ...
1.入口文件中定義的內容
// 檢測PHP環境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 開啟調試模式 建議開發階段開啟 部署階段註釋或者設為false
define('APP_DEBUG',True);
// 定義應用目錄
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
//定義根目錄的絕對地址
define('ROOT',str_replace("\\","/",dirname(__FILE__)));
2.U方法的參數規則
('地址表達式',['參數'],['偽靜態尾碼'],['顯示功能變數名稱'])
地址表達式:[模塊/控制器/操作#錨點@功能變數名稱]?參數1=值1&參數2=值2...
3.如何判斷請求類型,常用的請求方式有哪兩種,I方法的參數規則?
判斷請求類型:REQUEST_METHOD
常見的請求方式:get post
I方法的參數規則:I('變數類型.變數名',['預設值'],['過濾方法'],['額外數據源'])
註意:變數類型不區分大小寫。
變數名則嚴格區分大小寫。
預設值和過濾方法均屬於可選參數。
4.成功和失敗,重定向跳轉的方法以及參數規則。
success('成功條件','跳轉地址',‘跳轉時間’);
註意:方法的預設跳轉地址是$_SERVER["HTTP_REFERER"]
,
error('錯誤提示','跳轉地址',‘跳轉時間’);
註意:預設的等待時間success方法是1秒,error方法是3秒
重定向到New模塊的Category操作
重定向:$this->redirect('New/category', array('cate_id' => 2), 5, '頁面跳轉中...');
重定向到指定的URL地址
redirect('/New/category/cate_id/2', 5, '頁面跳轉中...')
5.URL的四種模式,簡述每種形式的規則
普通模式:http://localhost/?模塊=home&控制器=user&操作=login&var=value
pathinfo模式:http://localhost/index.php/home/user/login/var/value/
REWRITE模式:http://localhost/home/user/login/var/value
相容模式:http://localhost/?s=/home/user/login/var/value
6.TP常用的配置文件有哪幾個?配置文件的載入順序依次是什麼?
配置文件:1.慣例配置:框架內置配置文件(位於ThinkPHP/Conf/convention.php
)
2.應用配置:應用配置文件也就是調用所有模塊之前都會首先載入的公共配置文件(預設位於Application/Common/Conf/config.php
)
3.模塊配置:每個模塊會自動載入自己的配置文件(位於Application/當前模塊名/Conf/config.php
)
載入順序:慣例配置--->應用配置--->模塊配置
7.模版渲染display方法的參數規則
display('[模板文件]'[,'字元編碼'][,'輸出類型']);
模板文件的寫法支持下麵幾種:
8.常用的模版內置標簽以及在模版中使用的示例,舉出5個!
1.<foreach name='' item='' key=''></foreach>
2.<volist name='' id=''></volist>
3.<for start="開始值" end="結束值" comparison="" step="步進值" name="迴圈變數名" >
</for>
4.比較標簽:<eq name="name" value="value">value</eq>
5.範圍判斷標簽:
<in name="id" value="1,2,3">
id在範圍內
</in>
6.<if condition="$value eq $k">value</if>
7.<empty name="name">
name為空值
</empty>
8.<import file="Js.Util.Array" basepath="其他目錄" />//起始路徑是Public目錄
9.模版包含的參數規則以及舉例說明
include標簽用法:<include file='模版表達式或者模版文件1,模版表達式或者模版文件2,...' />
1.使用模板表達式:例如:
2.使用模板文件:可以直接包含一個模板文件名(包含完整路徑),例如:<include file="./Application/Home/View/default/Public/header.html" /
3.傳入參數:<include file="Public/header" title="ThinkPHP框架" keywords="開源WEB開發框架" />
模板中使用:
10.三大自動的參數規則
欄位映射:protected $_map=array(
'表單中的名'=>‘欄位名’//把表單中的name名映射到數據表中的欄位名
);
自動驗證:protected $_validate=array(
array('欄位名','驗證規則','提示信息','驗證條件','附加規則','驗證時間'),
);
自動完成:protected $_auto=array(
array('欄位名','驗證規則','驗證時間','附加規則'),
);
11.舉例描述上傳類在控制器中調用的全過程代碼(要求包含控制器的代碼以及模型類新增數據到資料庫的全部代碼),並說明表單中需要註意的內容!
模型類:
public function doUpload(){
if(empty($config)){
$config = array(
'maxSize' => 3145728,
'rootPath' => './Public/',//保存根路徑,一定要重新設置,否則無法找到根路徑
'savePath' => 'Uploads/',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
}
$upload=new Upload($config);
$info=$upload->upload();
if(!$info){
$this->error=$upload->getError();
return false;
}
foreach($info as $key=>$v){
$pic[$key]=$v['savepath'].$v['savename'];
}
return $pic;
}
控制器:
$pic=$this->work->doUpload();
$_POST['圖片欄位']=$pic['圖片欄位'];//添加到資料庫中
表單中需要註意的內容:
1.<form action="" method="post" enctype="multipart/form-data" ></form>
2.<input type="file" name="" value="">
3.註意savepath路徑。