#### 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-2.啟動項目
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-1.工具和本地環境
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-2.啟動項目
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-3.路由、模型與數據庫操作
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-4.跨域且傳輸數據,并優化后端接口
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-5.用戶登錄(一),密碼的bcrypt(hash)加密與驗證
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-6.用戶登錄(二),token驗證
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-7.分類的模型關聯和通用CRUD接口
> 技能學習:學習使用php(tp6框架) + vue.js,開發前端全棧網站-8.使用mavoneditor(vue的markdown編輯器),并批量上傳圖片
###### 1.后端項目啟動,多應用項目
* 主前端項目,仍然以前后端分離定位。
* 以php為后端,與其聯系的前端應用分別為web端,mobile端和admin端。
* 其中web端和mobile端使用相同的后端接口,命名為web。
* admin端使用admin端接口,命名為admin。
所以在thinkphp6框架中,需要使用多應用項目。
單應用項目中的app目錄結構:
> ├─app 應用目錄
> │ ├─controller 控制器目錄
> │ ├─model 模型目錄
> │ ├─view 視圖目錄
> │ └─ … 更多類庫目錄
多用項目中的app目錄結構:
> ├─app 應用目錄
> │ ├─index 主應用
> │ │ ├─controller 控制器目錄
> │ │ ├─model 模型目錄
> │ │ ├─view 視圖目錄
> │ │ ├─config 配置目錄
> │ │ ├─route 路由目錄
> │ │ └─ … 更多類庫目錄
> │ │
> │ ├─admin 后臺應用
> │ │ ├─controller 控制器目錄
> │ │ ├─model 模型目錄
> │ │ ├─view 視圖目錄
> │ │ ├─config 配置目錄
> │ │ ├─route 路由目錄
> │ │ └─ … 更多類庫目錄
如果要使用多應用模式,需要安裝多應用模式擴展`think-multi-app`:
~~~
composer require topthink/think-multi-app
~~~

報錯了,看意思就是composer.json和composer.lock的問題,參照vue的經驗,composer.json一定是包名存儲的地方。
(1)將我們需要的擴展名寫入require:

(2)刪除composer.lock
(3)清除composer緩存:
~~~
composer clearcache
~~~
(4)更新composer依賴,生成新的.lock文件:
~~~
composer update
~~~

這次可以安裝擴展了,但是依舊報錯,經查找還是php.ini的配置問題,再去改一下:
在php.ini查找proc\_open,刪掉。
再次`composer update`更新依賴:

嗨,接著百度接著改唄,在php.ini把proc\_get\_status刪了,再更新:

成了,擴展成功安裝。
更改app目錄結構,將之前的controller文件夾刪除。同時新建admin和web兩個應用:
~~~
php think build adminphp think build web
~~~

下方的php配置文件時公用文件,所有應用都可以使用,如果某應用內部需要進行單獨配置,就在該應用目錄下新建.php同名文件夾進行配置,框架中的配置文件應用順序為從里到外查找。
此時訪問目錄結構地址為:
> 訪問admin端 localhost:3000/index.php/admin
> 訪問web端 localhost:3000/index.php/web

網站鏈接有index.php有些奇怪,所以把index.php隱藏。
在tp5中需要配置apache服務器,一頓操作后生成.htaccess放在public中,此過程為url重寫。
但是在tp6中,可能是幾乎所有人都有隱藏index.php的需求,所以模板已經將生成的.htaccess文件生成好放到了框架中:

如果你的框架中沒有這一項,那么在public文件夾下新建.htaccess文件并放入以下內容即可。
public/.htaccess:
~~~
<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>
~~~
去除index.php的訪問地址:

到此,后端項目得以啟動。
###### 2.啟動前端項目
(1)整理項目文件夾
為了方便查看,我們將整個后端框架放入新的文件夾mine-php,由于tp6.com文件夾是后端項目,所以根據我的習慣,給其更名為server。

在編輯器中打開mine-php文件夾:

以后我們啟動后端項目就需要進入到server文件夾,使用命令對其進行啟動:

(2)新建前端項目
使用vue-cli?新建admin端,沒有前端經驗的朋友可以參考我之前的文章:
> 技能學習:學習使用Node.js + Vue.js,開發前端全棧網站-2.啟動項目

啟動admin端:


使用vue-cli?新建web端:
~~~
vue create web
~~~
過程與admin端相同。
- tp6+vue
- 1.工具和本地環境
- 2.啟動項目
- 3.路由、模型與數據庫操作
- 4.優化后端接口,前端使用axios實現接口功能
- 5.用戶登錄,bcrypt(hash)加密與驗證
- 6.用戶登錄(二),token驗證
- 7.分類的模型關聯和通用CRUD接口
- 8.使用vue的markdown編輯器并批量上傳圖片
- Node.js + Vue.js
- 工具,本地環境
- 2.1啟動項目
- 3.element-ui和vue-router路由的安裝和使用
- 4.使用axios,并創建接口上傳數據到mongodb數據庫
- 5.mongoodb數據庫的“刪、改、查”操作
- 6.mongodb數據庫無限層級的數據關聯(子分類)
- 7.使用mongodb數據庫關聯多個分類(關聯多個數據)
- 8.server端使用通用CRUD接口
- 9.圖片上傳
- 10.vue的富文本編輯器(vue2-editor)
- 11.動態添加分欄上傳多組數據
- 12-1.管理員模塊
- 13-1.搭建前臺web端頁面
- 1.使用sass工具搭建前臺web端頁面
- 2.sass工具的變量
- 3.使用flex布局并開始搭建web端
- 4.vue廣告輪播圖,并使用接口引入數據
- 5.使用字體圖標(iconfont)
- 6.卡片組件的封裝
- 14-1.生產環境編譯
- 1.環境編譯
- 2.購買域名服務器并解析域名到服務器
- 3.nginx配置web服務器并安裝網站環境
- 4.git拉取代碼到服務器
- 5.配置Nginx反向代理
- 6.遷移本地數據到服務器(mongodump)
- uni
- 1.工具&本地環境
- 2.頁面制作
- 3.頁面制作、組件與輪播
- 4.頁面跳轉與橫向滑動
- 5.用戶授權登錄和用戶信息獲取
- 6.用戶注冊和數據存儲
- 7.用戶填寫表單信息