一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

PHP教程 54 - ThinkPHP(1)

 知識書館 2022-07-19 發(fā)布于廣東

一、簡介

1、 什么是ThinkPHP

它是一個MVC框架

2、 什么是框架

框架,即framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng)。

l Zend Framework

l Yii

l Symfony

l Codelgniter

l ThinkPHP

l ……

3、 什么是MVC

MVC是施樂帕克研究中心 (Xerox PARC)在八十年代為編程語言Smalltalk80發(fā)明的一種軟件設計模式,至今已被廣泛使用。

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。

MModel模型

VView視圖

CControl 控制器

快速入門

控制器

視圖

模型

實用項

4、 介紹thinkphp

l http://

l 下載thinkphp3.0

l 直接部署到項目中

l php5.2

thinkphp1.0          php5.0

thinkphp3.0               php5.2

thinkphp3.2.2           php5.3

項目布署流程:

1)  解壓thinkphp,并進入到解壓出來的文件夾

2)  ThinkPHP文件夾放在我們的項目中

5、 快速入門

1)  開發(fā)項目入口文件

2)  運行以上程序,自動創(chuàng)建相應的程序文件

看到以上界面,說明項目創(chuàng)建成功

在我們的項目中,自動產(chǎn)生了一些文件夾,如下圖所示:

l Common              項目公共文件目錄

l Conf                      項目配置目錄

l Lang                     項目語言包目錄

l Lib                         項目類庫目錄

l Tpl                         項目模板目錄

l Runtime               項目運行時目錄

l ~runtime.php     這個文件會自動將項目的當前配置、公共函數(shù)等程序編譯到這個文件中,下次程序運行時,直接運行這個文件即可。

以上URL中的Index會被自動處理為模塊名

以上URL中的index會被自動處理為動作名

3)  開啟調(diào)試模式

代碼:

運行:

開啟調(diào)試模式之后,如果發(fā)生了一些錯誤,會有一些提示信息,建議:

開發(fā)時,開啟調(diào)試模式

布署時,關(guān)閉調(diào)試模

如果你的項目路徑與本題相同,可以不定義三個路徑常量

注意:開啟調(diào)試后,不會產(chǎn)生runtime.php文件

4)  分析項目入口文件

5)默認配置

為什么輸入地址之后,可以看到內(nèi)容

因為使有以上url時,會自動加載Index模塊控制器下的index方法

在框架配置文件中,復制兩個配置選項

將以上選項放在項目配置文件中

6)  添加新的控制器以及方法

Lib/Action下創(chuàng)建新的控制器GoodsAction

GoodsAction中添加新方法add

運行以上程序:

add方法添加指定模板并顯示

一個項目對應一個數(shù)據(jù)庫

一個數(shù)據(jù)庫中包含很多數(shù)據(jù)表

一個數(shù)據(jù)表就是一個模塊

一個模塊可以對應一個控制器

Tpl下創(chuàng)建Goods文件夾,用于存放所有Goods模塊下的模板

修改控制器代碼:

運行:

7)  配置項目的虛擬主機

修改apache配置文件:

修改hosts文件:

重啟apache并重新運行:

二、控制器

1、 什么是控制器

控制器用于接收和處理用戶的請求

2、 定義控制器

Lib/Action下創(chuàng)建控制器文件

文件名:模塊名(首字母大寫)Action.class.php

如:我們有一張數(shù)據(jù)表:member,會員表

/Lib/Action/MemberAction.class.php

控制器內(nèi)容:

class 模塊名(首字母大寫)Action  extends Action{

}

必須繼承父類控制器Action

代碼:

3、 url調(diào)度模式

url的調(diào)度模式就是url的訪問方式

ThinkPHP支持四種URL模式,可以通過設置URL_MODEL參數(shù)來定義

這個配置選項的值共有四個

0    :普通模式

1       pathinfo模式(默認)

2       rewrite模式

3       :兼容模式

1)  普通模式

語法:

http://項目/入口文件?m=模塊名&a=動作名

運行:

2)  pathinfo模式

語法:

http://項目/入口文件/模塊名/動作名

運行:

在項目的配置文件中,可以修改以下選項修改路徑分隔符

URL_PATHINFO_DEPR

訪問時:

3)  rewrite模式

(1)      修改config.php配置選項

(2)      httpd.conf配置文件中加載了mod_rewrite.so模塊

3AllowOverride None None改為 All

4)把下面的內(nèi)容保存為.htaccess文件放到入口文件的同級目錄下

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

語法:

http://項目/模塊名/動作名

運行:

4)  兼容模式

語法:

http://項目/入口文件?s=/模塊名/動作名

運行:

4、 空操作

空操作是指系統(tǒng)在找不到指定的操作方法的時候,會定位到空操作(_empty)方法來執(zhí)行,利用這個機制,我們可以實現(xiàn)錯誤頁面和一些URL的優(yōu)化。

語法:

public function _empty($name){

}

1)  錯誤頁面的定制

訪問時:

2)  優(yōu)化url

訪問:

我們訪問時,由于沒有shanghai方法,所以會自動定位到_empty方法中,并將shanghai做為參數(shù)傳遞給$name

5、 空模塊

空模塊的概念是指當系統(tǒng)找不到指定的模塊名稱的時候,系統(tǒng)會嘗試定位空模塊(EmptyAction),利用這個機制我們可以用來定制錯誤頁面和進行URL的優(yōu)化。

語法:

class EmptyAction extends Action{

}

MODULE_NAME:請求的當前模塊名稱

1)  錯誤頁面的訂制

運行:

系統(tǒng)找不到abc控制器,所以會自動定位到EmptyAction中。

2)  優(yōu)化url

運行:

6、 項目分組

一般網(wǎng)站項目是由若干個小項目構(gòu)成的,如:前臺、后臺、會員、博客等

配置文件config.php中有兩個選項,用于配置項目的分組

l APP_GROUP_LIST      :分組列表

l DEFAULT_GROUP       :默認組名    

1)  修改配置文件

2)  創(chuàng)建分組控制器目錄

3)  運行

4)  對模板進行分組

7、 url大小寫

TP中的url嚴格區(qū)分大小寫,如果想不區(qū)分大小寫,可以修改以下選項:

配置文件:config.php

l 'URL_CASE_INSENSITIVE=>true

運行:

8、 頁面跳轉(zhuǎn)

在需要對用戶的操作信息進行提示時,可以使用以下兩個方法:

l success :操作成功時所調(diào)用的方法

l error            :操作失敗時所調(diào)用的方法

配置文件:config.php

l TMPL_ACTION_SUCCESS success方法對應的模板

l TMPL_ACTION_ERROR      error方法對應的模板

代碼:

運行:

配置文件中:

可以修改以上選項,實現(xiàn)自定義模板

9、 頁面重定向

如果想實現(xiàn)頁面的重定向,可以使用以下方法:

redirect

語法:

$this->redirect(news/show, array('id=>2),      5,   “頁面跳轉(zhuǎn)中”     );

參數(shù)1:跳轉(zhuǎn)地址

參數(shù)2:參數(shù)數(shù)組

參數(shù)3:停留時間

參數(shù)4:提示信息

三、視圖

1、 什么是視圖

用戶看到的并與之交互的界面

tp中,視圖主要包含兩部份:

1)  視圖類

2)  模板

2、 模板定義

默認的模板文件定義規(guī)則:

模板目錄/[分組名/]模塊名/操作名+模板后綴

TMPL_TEMPLATE_SUFFIX :模板后綴名

3、 分隔符

l 'TMPL_L_DELIM'=>'<{',               :模板左分界符  默認:{

l 'TMPL_R_DELIM'=>'}>',              :模板右分界符     默認:}

4、 模板賦值與輸出

模板賦值:

$this->assign('模板變量名’,’’);

模板輸出:

$this->display('模板名’);

5、 模板字符串替換

tp的模板中,默認有一些字符串表示一些路徑

l __PUBLIC__:當前網(wǎng)站的公共目錄

l __APP__當前項目的URL地址

l __GROUP__:當前分組的URL地址

l __URL__ 當前模塊的URL地址

l __ACTION__:當前操作的URL地址

l TMPL_PARSE_STRING :可以在配置文件中配置此選項,用于一些常用路徑的定義

模板文件:

運行:

配置文件:

模板文件:

6、 獲取內(nèi)容

l $this->fetch();

fetch         :獲取內(nèi)容,返回字符串

display      :輸出字符串

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品久久精品国产| 精品推荐国产麻豆剧传媒| 中文字幕无线码一区欧美| 成人精品一区二区三区综合| 人妻偷人精品一区二区三区不卡| 国产原创中文av在线播放| 日本东京热视频一区二区三区| 91精品国自产拍老熟女露脸 | 91熟女大屁股偷偷对白| 国产传媒免费观看视频| 国产女性精品一区二区三区| 欧美成人黄色一区二区三区| 亚洲a级一区二区不卡| 亚洲日本加勒比在线播放| 欧美日韩精品视频在线| 国产日韩在线一二三区| 亚洲一区二区三区四区性色av| 国产精品偷拍视频一区| 老熟女露脸一二三四区| 亚洲天堂一区在线播放| 视频一区二区三区自拍偷| 国产麻豆一线二线三线| 欧美尤物在线视频91| 在线免费国产一区二区| 亚洲国产欧美久久精品| 久久热麻豆国产精品视频| 国产成人精品一区二三区在线观看| 日本午夜精品视频在线观看| 精品国产一区二区欧美| 日本91在线观看视频| 隔壁的日本人妻中文字幕版| 国产精品一区二区视频| 在线观看视频成人午夜| 亚洲天堂一区在线播放| 九九热这里只有精品哦| 日本东京热加勒比一区二区| 日本人妻精品有码字幕| 国产在线视频好看不卡| 日本91在线观看视频| 欧洲一区二区三区蜜桃| 欧美老太太性生活大片|