淺談ThinkPHP(三)

實現商品的添加

一、在add.html頁面中更改表單元素的名稱

 

Goods控制器的add()方法中獲取商品分類php

 

在add.html中循環獲取html

 

二、設置提交的位置

 

三、添加商品代碼參見GoodsController.class.php

方法一:mysql

 

$this->redirect();也是跳轉

方法二(用create建立數組):

create()的做用:sql

一、將表單元素的值和數據庫中的字段一一匹配。

二、講數據庫中沒有的字段在數組中去除。

 

PHP中添加的語法以下:thinkphp

 

success()和error()方法是thinkphp自帶的執行成功和失敗的方法,能夠用此方法來實現跳轉。數據庫

方法三:

 

I()函數

I()用來獲取get、post、session\cookie等等的數據。數組

語法:I('變量的類型.變量的名稱',[默認值],[過濾方法])cookie

變量類型session

描述app

Get

獲取get提交的參數

Post

獲取POST提交的參數

param

自動判斷是get仍是post

request

獲取request提交的數據

Session

獲取會話的數據

Cookie

獲取cookie數據

server

相似是$_SERVER[];

globals

獲取$GLOBALS參數

path

獲取pathinfo模式的url參數

用法:

描述

例題

獲取get提交的name變量

I('get.name')

獲取get提交的name變量並指定默認值

I('get.name','李白')

獲取值後並調用函數處理數據

I('get.name',' ', mysql_real_escape_string,trim);

獲取全部get提交的數據

I('get.')

此配置文件是默認的I的過濾參數

 

修改商品

update.html中添加隱藏域。

 

GoodsController.class.php頁面中代碼以下:

$this->success()中跳轉的路徑必定要用U()轉換。

 

U方法

U()用來生成URL地址,配合「'URL_MODEL'             =>  0,」配置來使用,配置的值不一樣,生成的URL地址就不一樣

 

$this->sucess(),裏面的路徑必定要用U()方法來生成URL。

刪除商品

HTML頁面

 

在控制器中代碼以下:

 

驗證碼

TP框架中自帶了驗證碼類

位置:Think/verify.class.php

 

在LoginController控制器中建立生存驗證碼的方法

 

login.html登錄模板中

 

在LoginController控制器中判斷驗證碼是否正確而且判斷登錄是否成功

 

文件上傳

用到的知識點:

一、文件上傳的時候,要設置表單的enctype屬性

 

二、$_FILE[名字][]用來接收文件的信息

第二維的字段:

         name

         size

         error

         type

         tmp_name

三、move_uploaded_file(臨時文件,目標文件)

ThinkPHP自帶了文件上傳的類。位置:Think/Upload.class.php

 

生成縮略圖

縮略圖類存放的位置 Think\Image.class.php

自定義工具類

在application文件夾下新建一個components文件夾,此文件夾中存放自定義的工具類。

在components文件夾下新建一個EmailTool.class.php文件

 

在控制器調用

 

TP中的session和cookie

session('name')                 獲取名字是name的會話

session('name','李白');   將'李白'付給name會話

session('name',null);        清空name的會話

session(null);                      清空全部會話

------------------------------------

cookie('name')                   獲取名字是name的cookie

cookie ('name','李白');    將'李白'付給name cookie

cookie ('name',null);         清空name的cookie

cookie (null);                       清空全部cookie

命名空間

當開發大型項目的時候,能夠會須要成千上萬的文件

面向對象經過命名空間來解決這個問題的。

PHP命名空間是PHP5.3之後纔出現的。

命名空間中能夠出現:類,函數,常量

只有const定義的常量命名空間纔有效。命名空間的名字必須符合PHP命名的規則。

命名空間是邏輯上的定義,邏輯的名稱 不是物理上的路徑

Tp中爲了尋址的方便把命名空間作成地址

命名空間的聲明和使用(namespace1.php)

 

命名空間的多級訪問一(namespace2.php)

 

命名空間的多級訪問二(namespace3.php)

 

空間元素訪問的三種形式

一、非限定名稱訪問

         echo  getInfo()

         相似於:require  ('getinfo.php');

二、限定名稱訪問,是相對限定

         China\getInfo();

         相似於:requrie ('China/getInfo.php');

三、徹底限定訪問

         \China\getInfo();

         相似於  requre ('c:\China\getinfo.php');

引用命名空間(namespace4.php)

 

命名空間的注意事項:

一、最頂層的\表示的是公共空間

二、namespace必須在最上面。

三、命名是虛擬的空間,不是真實存在的目錄,可是ThinkPHP的命名空間是真實的地址路徑。

四、當前文件中include具備命名空間的文件,不會改變當前文件的命名空間。

五、use有兩個做用 引入命名空間  引入類

相關文章
相關標籤/搜索