使用ThinkPHP創(chuàng)建TP5.1項目

在前面,我們安裝了thinkphp之后,那么如何用thinkphp開發(fā)項目呢?

1、 打開application/index/controller/Index.php,我們可以看到有如下代碼。

<?php Namespace appindexcontroller; class Index {     public function index()     {         return &#39;<style type="text/css">*{?padding:?0;?margin:?0;?}?div{?padding:?4px?48px;}?a{color:#2E5CD5;cursor:?pointer;text-decoration:?none}?a:hover{text-decoration:underline;?}?body{?background:?#fff;?font-family:?"Century?Gothic","Microsoft?yahei";?color:?#333;font-size:18px;}?h1{?font-size:?100px;?font-weight:?normal;?margin-bottom:?12px;?}?p{?line-height:?1.6em;?font-size:?42px?}<div>?<h1>:)?</h1> <p>?thinkphp?V5.1<br><span>12載初心不改(2006-2018)?-?你值得信賴的PHP框架</span></p> </div><script></script><script></script><think></think>'; ????} ????public?function?hello($name?=?'ThinkPHP5') ????{ ????????return?'hello,'?.?$name; ????} }

在上述代碼中,

????(1)、namespace appindexcontroller 是命名空間。PHP中命名空間使用關(guān)鍵字namespace定義,其基本語法格式是:

立即學(xué)習(xí)PHP免費學(xué)習(xí)筆記(深入)”;

????????namespace?空間名稱;

????????其中空間名稱遵循基本標(biāo)識符命名規(guī)則,以數(shù)字、字母和下劃線構(gòu)成,且不能以數(shù)字開頭)。關(guān)于更多的命名空間,大家可以自行上網(wǎng)搜索。

????(2)、class Index 是一個類,類中有index()和hello()方法,比如index()方法中的return返回的就是我們項目首頁的html內(nèi)容。

????(3)、訪問index()方法,直接通過http://localhost:8010/tp5.1.36/public這個URL進行訪問(localhost表示的是本地主機,8010是apache服務(wù)器的端口號,tp5.1.36是項目名)。

????(4)、如果要訪問hello()方法,那么就需要通過http://localhost:8010/tp5.1.36/public/index.php/index/index/hello這個URL來訪問,打開后,網(wǎng)頁中顯示“hello,ThinkPHP5”.

????????ThinkPHP5.1完全開放手冊是這樣描述的:http://serverName/index.php(或者其它應(yīng)用入口文件)/模塊/控制器/操作/[參數(shù)名/參數(shù)值…]

????那么我們來看這個地址

????http://localhost:8010/tp5.1.36/public/index.php/index/index/hello

????其中:

????????index.php后面的第一個index表示的是模塊;

????????index.php后面的第二個index表示的是控制器;

????????hello表示的是index模塊下的index控制器下的hello()方法。

????(5)、可以通過URL重寫隱藏應(yīng)用的入口文件index.php(也可以是其它的入口文件,但URL重寫通常只能設(shè)置一個入口文件),下面是相關(guān)服務(wù)器的配置參考(以apache為例):

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

????????2)??? AllowOverride None 將None改為 All

????????3)??? 把下面的內(nèi)容保存為.htaccess文件放到應(yīng)用入口文件的同級目錄下

????<ifmodule> ??????Options?+FollowSymlinks?-Multiviews ??????RewriteEngine?On ? ??????RewriteCond?%{REQUEST_FILENAME}?!-d ??????RewriteCond?%{REQUEST_FILENAME}?!-f ??????RewriteRule?^(.*)$?index.php/$1?[QSA,PT,L] ????</ifmodule>

2、 打開mysql服務(wù)器,創(chuàng)建數(shù)據(jù)庫,將數(shù)據(jù)庫名稱命名為student。

3、 在該數(shù)據(jù)庫下創(chuàng)建一張表,表名為:student。

?使用ThinkPHP創(chuàng)建TP5.1項目

4、 向student表中插入如下數(shù)據(jù)

使用ThinkPHP創(chuàng)建TP5.1項目

上面性別的取值中,1表示的是男,2表示的是女。

5、 編輯config/database.php文件,參考如下代碼修改數(shù)據(jù)庫的配置。

????//?數(shù)據(jù)庫類型 ????'type'????????????=&gt;?'mysql', ????//?服務(wù)器地址 ????'hostname'????????=&gt;?'127.0.0.1', ????//?數(shù)據(jù)庫名 ????'database'????????=&gt;?'student', ????//?用戶名 ????'username'????????=&gt;?'root', ????//?密碼 ?????'password'????????=&gt;?'root',

????請根據(jù)自己的實際情況進行修改,我這里的用戶名和密碼都是root。

6、 在Index控制器下添加student()方法,將student表查詢出來,具體代碼如下。

???public?function?index() ??{ ?????$data=thinkDb::name(‘select?*?from?`student`’); ?????$arr=[]; ????????foreach($data?as?$v){ ?????????????$arr[]=$v[‘name’]; ????????} ?????return?implode(‘,’,$arr); ????}

????????通過訪問localhost:8010/tp5.1.36/public/index.php/index/index/student進行測試,可以看到瀏覽器中顯示的數(shù)據(jù)為:李四,張三,王五。

7、 在實際開發(fā)中,我們會遇到各種錯誤,為了更好的調(diào)試錯誤,ThinkPHP提供了非常強大的錯誤報告和跟蹤調(diào)試功能。打開config/app.php文件,找到如下兩行代碼,將值改為true。

????‘a(chǎn)pp_debug’?=&gt;’true’,//應(yīng)用調(diào)試模式 ????‘a(chǎn)pp_trace’?=&gt;’true’,//應(yīng)用trace

8、 在實際開發(fā)中,需要編寫大量的HTML網(wǎng)頁,為了方便編寫HTML網(wǎng)頁,我們可以單獨將HTML放置在一個模板文件中。為了實現(xiàn)這個效果,需要讓控制器中的Index類繼承thinkController類,代碼如下所示。

????class?Index?extends?thinkController

9、 繼承thinkController類后,就可以使用這個類提供的assgin()和fetch()方法。

10、 接下來修改student()方法中的代碼內(nèi)容,調(diào)用assgin()方法為模板賦值,再調(diào)用fetch()方法喧嚷模板,具體代碼如下。

????public?function?index() ????{ ??????$data=thinkDb:?name(‘student`’)-&gt;filed(‘name’)-&gt;select(); ????????????$this-&gt;assgin(‘data’,$data); ????????return?$this-&gt;fetch(); ????}

????????通過訪問localhost:8010/tp5.1.36/public/index.php/index/index/student進行測試,會出現(xiàn)報錯,是因為我們還沒有創(chuàng)建該模板,根據(jù)提示可以找到該路徑位于application/index/view/Index/student.html。手動創(chuàng)建模板文件和其所在的目錄,編寫代碼如下:

????nbsp;html&gt; ???? ???????? ????????<meta> ????????<meta> ????????<meta> ????????<title>學(xué)生信息列表</title> ???????? ???????? ???????{?foreach($data?as?$v)} ??????????<div>{$v.name]}&gt;</div> ???????{/foreach;} ???????? 

11、這樣就可以在模板文件中輸出所有學(xué)生的姓名。

TP5.1的第一個項目就這樣完成了,在后續(xù)的文章中,我們再進行細(xì)講涉及到的知識點。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享