溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-01-16 11:33:43 來源:億速云 閱讀:233 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)怎么使用ThinkPHP創(chuàng)建TP5.1項目,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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

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

<?php
namespace app\index\controller;
class Index
{
    public function index()
    {
        return '<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;} h2{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h2>:) </h2><p> ThinkPHP V5.1<br/><span style="font-size:30px">12載初心不改(2006-2018) - 你值得信賴的PHP框架</span></p></div><script type="text/javascript" src="https://tajs.qq.com/stats?sId=64890268" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="eab4b9f840753f8e7"></think>';
    }
    public function hello($name = 'ThinkPHP5')
    {
        return 'hello,' . $name;
    }
}

在上述代碼中,

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

        namespace 空間名稱;

     其中空間名稱遵循基本標識符命名規(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 mod_rewrite.c>
      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'            => 'mysql',
    // 服務(wù)器地址
    'hostname'        => '127.0.0.1',
    // 數(shù)據(jù)庫名
    'database'        => 'student',
    // 用戶名
    'username'        => 'root',
    // 密碼
     'password'        => 'root',

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

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

   public function index()
  {
     $data=\think\Db::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’ =>’true’,//應(yīng)用調(diào)試模式
    ‘a(chǎn)pp_trace’ =>’true’,//應(yīng)用trace

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

    class Index extends \think\Controller

9、 繼承\(zhòng)think\Controller類后,就可以使用這個類提供的assgin()和fetch()方法。

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

    public function index()
    {
      $data=\think\Db: name(‘student`’)->filed(‘name’)->select();
            $this->assgin(‘data’,$data);
        return $this->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)建模板文件和其所在的目錄,編寫代碼如下:

    <!DOCTYPE html>
    <html>
        <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>學(xué)生信息列表</title>
        </head>
        <body>
       { foreach($data as $v)}
          <div>{$v.name]}></div>
       {/foreach;}
        </body>
</html>

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

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

關(guān)于“怎么使用ThinkPHP創(chuàng)建TP5.1項目”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI