起步:MVC模式
ThinkPHP6 起步
ThinkPHP支援傳統的MVC(
Model-View-Controller
)模式以及流行的MVVM(Model-View-ViewModel
)模式的應用開發
一、MVC
#MVC 軟體系統分為三個基本部分:模型(
Model
)、視圖(View
)和控制器(Controller
)#ThinkPHP 是典型的MVC 架構
控制器- 負責轉送請求,對請求進行處理。
視圖 - 介面設計人員進行圖形介面設計。
模型 - 程式設計師編寫程式應有的功能(實現演算法等等)、資料庫專家進行資料管理和資料庫設計(可以實現具體的功能)。
二、單一應用模式存取
#專案存取路徑:www.xxx.com/index.php/ index/index
index.php 入口檔案
index 控制器
index 作業
##├─app 應用目錄 │ ├─controller 控制器目錄│ ├─model 模式目錄│
│ ├─common.php 公用函數檔案
│ └─event.php
│ ├─app.php 應用程式設定
│ ├─cache.php ├ ─cookie.php Cookie設定
│ ├─database.php 資料庫設定
│ ├─語言配置
│ ├─log.php 日誌設定
│ ├─middleware.php 中間件設定#│ ├─session.php Session設定
│ ├─trace.php Trace設定
##│1# └─view.php# ├─view 視圖目錄#├─route 路由定義目錄│ ├─route.php 路由定義檔
│ └─ ...
#│
├─public
│ ├─index.php 入口檔案│ ├─router.php 快速測驗檔案 ├─extend 擴充類別庫目錄├─runtime 1 er類別庫目錄├─.example.env 環境變數範例檔案├─composer.json composer 定義檔案
#├#LICENSE. .md README 檔案
#├─think 命令列入口檔案編號
composer require topthink/think-view##檢查視圖\View類別
配合視圖驅動程式(也即模板引擎驅動)類別一起完成,新版僅內建了PHP原生模板引擎(主要用於內建的異常頁面輸出),如果需要使用其它的模板引擎需要單獨安裝相應的模板引擎擴充ThinkPHP6已獨立出一套模版,命名為:ThinkTemplate模板引擎;使用think-template模板引擎,需安裝think-view;
#檢視目錄可以在根目錄,也可以在app應用目錄
- #四、模版渲染
- 要使用View,必須先引入
think\facade\View
門面類別
參數:靜態頁面的路徑,預設對應的靜態頁面
controller程式碼
##<?php
namespace app\controller;
###use think\facade\View;######class Index{###### public function index() {###### return View::fetch();###### }#####}#########view程式碼######備:Index類別對應view下面的目錄######備:index方法對應view下面的目錄裡的靜態檔案#######五、模版變數############assign 方法賦值屬於全域變數賦值############模版輸出{$name}#############controller程式碼########namespace app\controller;# #####use think\facade\View;######class Index{###### public function index(){###### // 範本變數賦值###View::assign('name','歐陽克');
View::assign('email','oyk@php.cn');
//或批量賦值
View::assign([
# 'name' => '歐陽克',
## . ' ]); // 範本輸出 return View::fetch(); # }
##o
}C##C #view程式碼<!DOCTYPE html>
<html>
#<head>
<meta charset="UTF-8">
<title>ThinkPHP6</title>
</head>
<body>
##</head>
<
# 姓名:{$name}- ## <br>
信箱:{$email}
#</body>#< ;/html>
六、入口- public目錄為唯一的web可存取目錄
把資源檔案放到
public/static中
入口文件,預設為index.php
把html頁面放到ThinkPHP框架裡
此頁面是靜態檔案
<!DOCTYPE html><html><head> <title>清單頁面< /title> <link rel="stylesheet" type="text/css" href="layui/css/layui.css"># <script type="text /javascript" src="layui/layui.js"></script> <style type="text/css"># .header{width:100%.header{width:100% ;height: 50px;line-height: 50px;background: #2e6da4;color:#ffffff;}
.title{margin-left: 20px;font-size: 20px;}## .userinfo{float: right;margin-right: 10px;}
.userinfo a{color:#ffffff;}
.menu{width: 200px37: .menu{width: 200px37:403; absolute;}###### .main{position: absolute;left:200px;right:0px;}############### .layui-########### ###### .layui-colla-item{border-top:none;}###### .layui-colla-title{background:#42485b;color:#ffffffffff;.layui-colla-content{border-top:none;padding:0px;}
.content span{背景: #0096888;margin-left: 30px ;padding: 10px;color:#ffffff;}
.content div{border-bottom: Solid 2px #009688;margin-top: 8px;}## ## 按鈕 . ;頁邊距:-5px;}
#
;XXX--後台管理系統
;【歐陽克】< span><a href="javascript:;">退出</a></span></span>
</div>