菜鳥一枚,想學(xué)習(xí)一下新框架
項目需要為mvc模式 ,生命周期為 客戶請求 -》 路由 -》 中間件 -》 攔截器 -》 接收數(shù)據(jù) -》 驗(yàn)證器 -》 業(yè)務(wù)邏輯 -》 最后 return ,現(xiàn)在就卡在了路由,還是太菜了,哈哈哈哈
目前 composer 接入 webmanadmin 后臺 ,如果項目需要前后端分離 則后臺出接口
app
|-api #客戶端接口
|-home #pc展示或者 h5入口
|-admin_api #如果后端分離則出接口
|-common #公共
|- model
|- common.php #公共方法
|- api_route.php #未實(shí)現(xiàn)當(dāng)前路由
|- admin_route.php #未實(shí)現(xiàn)當(dāng)前路由
..
config
...
解決方案如下
app
|-api
|-controller #這是第一種路由模式
|-IndexController.php
|-middleware #中間件
|-validate # composer think-validate 習(xí)慣用tp的驗(yàn)證類
|-model #模型
|-v1 #這是第二種路由模式
|-controller #這是另一種
|-Test.php
|-middleware
|-validate
|-model
|-v2 #更多
|-admin_api
|-common
|-home
comfig
|-route.php
...
如圖
Route::group('/api', function () {
Route::any('/index',[app\api\controller\IndexController::class, 'index']);
# any 可以換成 resource 等
# /index 你可以換成其他名字也行 如 get_list http://域名/api/get_list
# app\api\controller\IndexController::class 對應(yīng)的路徑控制器
# 如果你的控制器是Index.php 則變成 app\api\controller\Index::class
# 'index' 控制器對應(yīng)的方法
Route::group('/v1', function () {
#這個 v1下的控制器改名為 Test.php
Route::any('/demo',[app\api\v1\controller\Test::class, 'test']);
# '/demo' 可以隨便起名字,但是重復(fù)會報錯
Route::any('/test/del/{id}',[app\api\v1\controller\Test::class, 'del']);
# 這種更符合我的模塊寫法
});
});
Route::any('/index',[app\api\controller\IndexController::class,'index']);
Route::any('/demo',[app\api\v1\controller\Test::class,'test']);
Route::any('/test/del/{id}',[app\api\v1\controller\Test::class, 'del']);
一定要看文檔,一定要看文檔,一定要看文檔。
為什么我的域名后面沒有:8787
搜索 nginx 代理 自行更改
里面的插件是真的香,直接composer就能用