目錄結構
project 應用部署目錄
├─application 應用目錄(可設定)
│ ├─common 公共子產品目錄(可更改)
│ ├─index 子產品目錄(可更改)
│ │ ├─config.php 子產品配置檔案
│ │ ├─common.php 子產品函數檔案
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ └─ … 更多類庫目錄
│ ├─command.php 指令行工具配置檔案
│ ├─common.php 應用公共(函數)檔案
│ ├─config.php 應用(公共)配置檔案
│ ├─database.php 資料庫配置檔案
│ ├─tags.php 應用行為擴充定義檔案
│ └─route.php 路由配置檔案
├─extend 擴充類庫目錄(可定義)
├─public WEB 部署目錄(對外通路目錄)
│ ├─static 靜态資源存放目錄(css,js,image)
│ ├─index.php 應用入口檔案
│ ├─router.php 快速測試檔案
│ └─.htaccess 用于 apache 的重寫
├─runtime 應用的運作時目錄(可寫,可設定)
├─vendor 第三方類庫目錄(Composer)
├─thinkphp 架構系統目錄
│ ├─lang 語言包目錄
│ ├─library 架構核心類庫目錄
│ │ ├─think Think 類庫包目錄
│ │ └─traits 系統 Traits 目錄
│ ├─tpl 系統模闆目錄
│ ├─.htaccess 用于 apache 的重寫
│ ├─.travis.yml CI 定義檔案
│ ├─base.php 基礎定義檔案
│ ├─composer.json composer 定義檔案
│ ├─console.php 控制台入口檔案
│ ├─convention.php 慣例配置檔案
│ ├─helper.php 助手函數檔案(可選)
│ ├─LICENSE.txt 授權說明檔案
│ ├─phpunit.xml 單元測試配置檔案
│ ├─README.md README 檔案
│ └─start.php 架構引導檔案
├─build.php 自動生成定義檔案(參考)
├─composer.json composer 定義檔案
├─LICENSE.txt 授權說明檔案
├─README.md README 檔案
├─think 指令行入口檔案
其實大部分操作都是在application檔案裡面的。其他的其實不用這麼看。
1.database 和 config
基本都是資料庫賬戶密碼,和開啟app_debug這一類的。
2.common.php
常用的功能子產品就可以放到這個公共子產品這裡。
3.route.php
定義路由功能。基本上你有幾個頁面跳轉,就路由幾個。
use think\Route;
//聲明幾個網站,這裡的route需要改一下 .htaccess檔案的一個小地方
Route::resource('admin','admin/admin');
Route::resource('index','index/index');
Route::rule('cat','index/animal/cat');
Route::rule('dog','index/animal/dog');
Route::rule('goods','index/goods/index');
Route::rule('notice','index/notice/index');
Route::rule('about','index/about/index');
4.mvc檔案夾
mvc檔案夾,就是檔案裡面包含controller,model,view的檔案夾。主要的内容都在這裡面。
①.model
資料庫表連接配接器:其實就是聲明你用了哪些表,例:我用了student表,需要用幾個表就引入幾個表
<?php
namespace app\index\Model;
use think\Model;
//指定哪個表
class Student extends Model {
protected $table = "student";
}
②.view
視圖層,用來放html的。基本都放html。可以引入JQ等前端插件,檔案html結構還是盡量别改。就别使用vue了。沒試過,怕出問題。
{include file="public/header" /}
<!--中間部分開始-->
<div class="act-center">
<div class="w_1200 com-c">
{volist name="list" id="vo"}
<div style="width: 100%">
<h3 style="font-size: 60px;">{$vo.title}</h3>
<h4>{$vo.content}</h4>
<img src="{$vo.picture}">
</div>
<br>
{/volist}
</div>
</div>
<!--中間部分結束-->
{include file="public/footer" /}
特點:html可以插入php的寫法。使用include可以引入,公共部分。不是視圖截了一般!!
是代碼截了一半,如圖所示:
③.controller
這是核心。控制器。基本所有操作都歸他管。它通過許多類來達到控制資料(model)與視圖(view)的效果。
namespace app\index\controller;
//命名空間
class About extends Base
//使用他
{
public function index()
{
$model = new \app\index\model\About();
$list = $model->where('status',1)->select();
$this->assign('list',$list);
return $this->fetch();
}
}
基本步驟:命名空間,class他,public function index(){方法}