thinkPHP學(xué)習(xí)筆記之安裝配置篇
國產(chǎn)框架thinkPHP,是一款MVC框架,這個(gè)框架最初模擬JAVA的struts框架,使用單一入口文件模擬JAVA的過濾器,使用action來模擬STRUTS的控制器ACTION,所以為什么他的MVC之中,M是model,V是view,而control卻是action的原因。
在3.2.3版本中,control改成了C,也是趨于形式,因?yàn)镴AVA世界的springMVC開始流行,spring使用的control,不在使用action這種定義,其實(shí)action來表示control本身就有一定的誤導(dǎo),control就C嘛,為什么來一個(gè)aciton,讓人摸不著頭腦。
thinkphp最難理解的是他的訪問方式,在官方文檔上面講解有點(diǎn)誤導(dǎo)人,按照官文一定出錯(cuò),是因?yàn)楣傥臎]有講清楚!
thinkphp的安裝其實(shí)很簡單,只要require他的主程序文件,就可以生成一些列的目錄,但是URL與他的control、tpl的關(guān)系是什么呢?官文說得實(shí)在太含糊了,但凡使用過JAVA的人都會(huì)被官文忽悠到吐血!
官文,能否條理清楚點(diǎn)???
實(shí)際使用過后總結(jié)了以下幾點(diǎn):
1,安裝thinkphp:
和主程序thinkPHP同目錄下建立 admin.php或者其他的名字都可以
<?php
//定義項(xiàng)目名稱和路徑
define('APP_NAME', ''); //名字時(shí)空的時(shí)候,就是生成的文件夾前不加前綴
define('APP_PATH', './admin/');//這個(gè)是和主程序THINKPHP同目錄下生成admin目錄的意思
define('APP_DEBUG', true);//開始編輯模式,文件強(qiáng)制編譯,不緩存
// 加載框架入口文件
require( "../ThinkPHP/ThinkPHP.php");//主程序入口文件
2,文件目錄:
自動(dòng)生成的文件目錄是
common:寫函數(shù)的地方
conf:配置文件,例如配置數(shù)據(jù)庫連接地址
lang:語言包,國際化
lib:action,model都在這里面,是一個(gè)比較重要的地方,和JAVA的lib是JAR包完全不同概念
runtime:運(yùn)行時(shí)的緩存文件
tpl:模板,就是html文件
3,訪問方法:
URL:localhost/thinkphp/admin.php?m=Show&a=add
解釋:本地/項(xiàng)目目錄/剛才建立的單一入口文件?model=類名&action=方法名
意思:進(jìn)入單一入口文件admin.php中的Show類中的add方法
強(qiáng)調(diào):類名是大寫開頭,小寫會(huì)找不到,這個(gè)把我害苦了,弄了一下午,原來是只認(rèn)識大寫類名,小寫不認(rèn)識
infopath風(fēng)格URL:localhost/thinkphp/admin.php/Show/add
解釋:和默認(rèn)的一樣,就是沒有寫出M A
4,寫類,寫方法:
thinkphp的作者一定是一個(gè)喜歡折騰的人,完美主義者,所以才會(huì)思考出這種方式來控制程序,整個(gè)程序都是以action類為核心,一個(gè)action類等于是一個(gè)頁面,里面的方法就是和這個(gè)頁面相關(guān)的操作,什么增刪改查啊,這個(gè)很符合國人的思考方式,但是復(fù)用性并不高。
寫文件:lib/action/ShowAction.class.php
<?php
//Show就是類名,Action只是一個(gè)識別輔助,必須寫,但是可以調(diào)用的時(shí)候忽略,記得大寫哦,你小寫他也給你換成大寫開頭,讓你弄死找不到小寫show的模塊,m=Show
class ShowAction extends Action {
//add就是action的方法,a=add
public function add(){
//輸出頁面CC,他自動(dòng)加載默認(rèn)TPL目錄下Show文件下的cc.html文件,這里如果沒有cc,就加載方法名字一樣的add.html,如果cc.html與add.html都沒有就報(bào)錯(cuò)
$this->display('cc');
}
}
5,寫模板:
上面提到了加載模板,現(xiàn)在就寫一個(gè):
tpl/Show/cc.html
<html>一個(gè)普通HTML文件</html>
以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。
- windows環(huán)境下使用Composer安裝ThinkPHP5
- thinkphp在php7環(huán)境下提示Cannot use ‘String’ as class name as it is reserved的解決方法
- thinkPHP5.0框架環(huán)境變量配置方法
- thinkPHP5.0框架安裝教程
- TP5(thinkPHP5)框架mongodb擴(kuò)展安裝及特殊操作示例
- ThinkPHP框架搭建及常見問題(XAMPP安裝失敗、Apache/MySQL啟動(dòng)失?。?/a>
- ThinkPHP安裝和設(shè)置
- 使用composer安裝使用thinkphp6.0框架問題【視頻教程】
- ThinkPHP中自定義目錄結(jié)構(gòu)的設(shè)置方法
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
相關(guān)文章
PHP實(shí)現(xiàn)把MySQL數(shù)據(jù)庫導(dǎo)出為.sql文件實(shí)例(仿PHPMyadmin導(dǎo)出功能)
這篇文章主要介紹了PHP實(shí)現(xiàn)把MySQL數(shù)據(jù)庫導(dǎo)出為.sql文件實(shí)例(仿PHPMyadmin導(dǎo)出功能),需要的朋友可以參考下2014-05-05
Thinkphp 框架擴(kuò)展之應(yīng)用模式實(shí)現(xiàn)方法分析
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之應(yīng)用模式,結(jié)合實(shí)例形式分析了Thinkphp 擴(kuò)展應(yīng)用模式的具體原理、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-04-04
ThinkPHP框架實(shí)現(xiàn)session跨域問題的解決方法
這篇文章主要介紹了ThinkPHP框架實(shí)現(xiàn)session跨域問題的解決方法,需要的朋友可以參考下2014-07-07
Laravel5.1 框架模型查詢作用域定義與用法實(shí)例分析
這篇文章主要介紹了Laravel5.1 框架模型查詢作用域定義與用法,結(jié)合實(shí)例形式分析了laravel5.1定義一個(gè)查詢作用域及動(dòng)態(tài)的查詢作用域相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
php安裝xdebug/php安裝pear/phpunit詳解步驟(圖)
PHP環(huán)境中安裝pear、phpunit以及xdebug全攻略,大家參考使用吧2013-12-12

