溫馨提示×

溫馨提示×

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

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

PHP——thinkphp5的使用方法

發布時間:2020-10-19 16:20:21 來源:億速云 閱讀:243 作者:小新 欄目:編程語言

這篇文章主要介紹PHP——thinkphp5的使用方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

前言

不知大家是否有這樣的感覺,經過一段時間的php學習發現這門語言并不是很難,而且很容易上手。隨隨便便寫個網頁界面,再把數據庫內容弄一弄,貌似就沒什么難度了。當初的小編也是這樣傻fufu的認為做個網站也就僅此而已——-just so so( ̄_, ̄ )。然而隨著學習的不斷深入,猛然發現事實并非如此,再回想當初的念頭,只能默默地感嘆自己too young too simple。就小編而言,一開始學的內容是PHP的入門階段知識,簡而言之就是把代碼往那一堆,然后調數據庫顯示實現功能就完事了。隨著想寫的的功能的增加,小編漸漸發現寫個設計要寫20多個頁面,改個代碼就要半天,but小編當時還并沒有框架這一概念。直到學習了java EE的Struts2框架,小編才意識到自己是如此的菜—-瞬間原地爆炸。為了強化php的學習,小編就花了些時間來研究php眾多框架中的一個—>thinkPHP5。

后序
小編寫這篇文章旨在做一個學習筆記,順便給想要學習thinkphp5的小伙伴一個簡單地淺顯地介紹,置于數據庫的操作小編就不介紹了,因為真的很多,不過開發手冊上有較為詳細的解釋,寫的不好的地方請大神糾正。此外小編個人覺得tp5的快速入門手冊也是值得一看的(付費)。

1.什么是thinkphp5框架?

在介紹thinkphp5之前,我們先來談一談什么是框架。簡言之,別人幫你建好了房子但尚未裝修,你需要在別人設計好的戶型里去裝修,省去你搬磚的重復性操作。(對于框架的深入理解大家可以自行百度)。

ThinkPHP是一個快速、簡單的基于MVC和面向對象的輕量級PHP開發框架,遵循Apache2開源協議發布,自2006年誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡代碼的同時,尤其注重開發體驗和易用性,并且擁有眾多的原創功能和特性,為WEB應用和API開發提供了強有力的支持。(對于初學者而言了解概念小編認為并沒什么用,還不如直接在做項目中感受一下)

2.前期準備工作

(1)編程工具的選擇:開放工具:phpStorm + 服務器工具:phpStudy

對于工具的選擇主要看個人的喜好,但最好選擇主流的編輯工具。

phpstrom 下載及安裝教程地址:http://www.php.cn/xiazai/gongju/122

phpStudy下載及安裝教程地址:http://www.php.cn/xiazai/gongju/845

如果沒有用過phpstudy可以鏈接上面的地址去學習一下phpsyudy的基本操作方法

*下面這一步暫時用不到

搭建PhpStorm+PhpStudy開發環境:https://blog.csdn.net/u012861467/article/details/54692236

(2)下載安裝thinkphp5

下載地址:http://www.thinkphp.cn/donate/download/id/1155.html

安裝方法:將壓縮包解壓放phpStudy/ww的在項目下就可以

PHP——thinkphp5的使用方法

PHP——thinkphp5的使用方法輸入網址:localhost/thinkphp_5/public/ 出現下面界面則安裝成功

PHP——thinkphp5的使用方法

(3)學習thinkphp5所要具備的知識
php入門階段的知識+php面向對象的程序設計(==》命名空間那部分可以先看看)+mvc設計模式

3.thinkphp5的基本使用方法

(1)參考資料: thinkphp5完全開發手冊: https://www.kancloud.cn/manual/thinkphp5/118003 開發手冊內容有很多沒有必要直接看下來,對于初次接觸tp5的小伙伴而言,你需要用到哪部分知識就去查找哪部分。

(2)目錄結構:(大致了解即可)

PHP——thinkphp5的使用方法

tp5的目錄文件有很多,這里我們著重講一下劃線的部分,其他部分大家可以參考開發手冊。首先說一下application,簡單地說這個部分就是我們編寫代碼的地方。如上圖所示,index模塊為前端,而我們一般會自己創建admin模塊及后端管理員。

PHP——thinkphp5的使用方法PHP——thinkphp5的使用方法

index模塊和admin模塊下是我們熟悉的MVC,datebase.php為配置數據庫的文件,application下的config.php是影響全部模塊的配置文件,而index和admin的config.php只影響自己模塊下的文件。public下的static是放靜態資源的文件,index.php為入口文件,即只能通過這一文件訪問。

(3)MVC

Model(模型)是應用程序中用于處理應用程序數據邏輯的部分。

通常模型對象負責在數據庫中存取數據。

View(視圖)是應用程序中處理數據顯示的部分。

通常視圖是依據模型數據創建的。

Controller(控制器)是應用程序中處理用戶交互的部分。

通??刂破髫撠煆囊晥D讀取數據,控制用戶輸入,并向模型發送數據。

PHP——thinkphp5的使用方法

Model(模型)

a: 數據庫的配置:

打開database.php,一般要改動的就是劃線部分。另外在thinkphp5.0完全開發手冊中,我們在基礎目錄下可以看到開發規范,這是我們需要了解的。

PHP——thinkphp5的使用方法

b: 建立模型:(這部分在開發手冊中也有更詳細的解讀)

       <?php
    namespace app\admin\model;
    use think\Model;

    class User extends Model
    {

    }
    ?>

大多情況下,我們無需為模型定義任何的屬性和方法即可完成基礎的操作。模型會自動對應一個數據表。規范是:數據庫前綴+當前的模型類名(不含命名空間)因為模型類命名是駝峰法,所以獲取實際的數據表的時候會自動轉換為小寫+下劃線命名的數據表名稱,所以只要建立一個與數據表同名的model就可以。如果你的數據表不是像tp_user這樣以前綴加下劃線命名可以在model中指定數據表。

        <?php
    namespace app\admin\model;
    use think\Model;
    use think\Db;
    class Swe extends Model
    {
        // 設置完整的數據表(包含前綴)
        protected $table = 'swe';
    }

下面用一個例子來解釋:

首先在admin模塊下建立以下幾個文件,在controller下建立User.php ,Model下建立User.php ,在view下建立user文件夾,在user文件夾下建立user.html

并建立user表 字段有id,clickname,email,birthday

代碼如下:

controller下的User.php

<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\User as UserModel;
class User extends Controller
{
//    // 創建用戶數據頁面
//    public function create()
//    {
//        return $this->fetch('user');//加載模板,會自動找到view下的user的user.html并顯示
//    }

// 創建用戶數據頁面
    public function create()
    {
        return view('user');//加載模板,會自動找到view下的user的user.html
    }
// 新增用戶數據
    public function add()
    {
        $user = new UserModel;
        if ($user->allowField(true)->save(input('post.'))) {//input('post.'))為表單提交的數據
            return '用戶[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
        } else {
            return $user->getError();
        }
    }
    // model的助手函數新增用戶數據
    public function add3()
    {
        // 使用model助手函數實例化User模型
        $user = model('User');
// 模型對象賦值
        $user->data([
            'nickname'  =>  'SWE',
            'email' =>  'thinkphp@qq.com'
        ]);
        if ($user->save()) {
            return '用戶[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
        } else {
            return $user->getError();
        }
    }

Model下的User.php

<?php
namespace app\admin\model;
use think\Model;

class User extends Model
{

}

user.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>創建用戶</title>
    <style>
    </style>
</head>
<body>
<h3>創建用戶</h3>
<FORM method="post" class="form" action="{:url('admin/user/add')}">
    昵 稱:<INPUT type="text" class="text" name="nickname"><br/>
    郵 箱:<INPUT type="text" class="text" name="email"><br/>
    生 日:<INPUT type="text" class="text" name="birthday"><br/>
    <input type="hidden" name="__token__" value="{$Request.token}" />
    <INPUT type="submit" class="btn" value=" 提交 ">
</FORM>
</body>
</html>

url:localhost/tp5/public/index.php/admin/user/create 執行user.php下的create方法

return $this->fetch(‘user’); //加載模板,會自動找到view下的user的user.html并顯示

user.html提交數據到add方法

實例化Model類 ,$user->allowField(true)->save(input(‘post.’))提交數據到數據庫

以上是PHP——thinkphp5的使用方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女