记录一下自己搭建部署tp5.1
因readme文件中仅是声明了 ThinkPHP5的运行环境要求PHP5.6以上,所以本次使用php7.3
首先composer拉包到我们得工程目录
composer create-project topthink/think=5.1.* tp51
部署nginx,这里就不详细描述部署过程了,在nginx的conf文件中随便找个位置加上,去掉url尾部index.php
location / { if (!-e $request_filename) { rewrite^(.*)$/index.php?s=/$1last; break; }}
一般来说我们搭建项目都需要配置多模块,这里以配置api模块为例。
首先我们开启tp的强制路由,不开强路由的程序员不是好程序员,tp5的路由方式支持路由文件,等到了tp5.1就已经支持注解路由了,我们这里为了配置中间件和其他统一配置,看起来更直观。所以就先不采用注解路由的方式了。
配置config文件夹下app.php
// 是否强制使用路由'url_route_must' => true,
配置route目录下route.php,当然你也可以在该目录下新建api.php。这里只是举个简单的例子,具体配置如下,这里路由用的闭包写法,好处是省略了一部分重复代码,当然你也可以逐条写。
use think\facade\Route;Route::get('/', 'index/index'); //首页Route::group('api',function (){ //api模块Route::get('/','/index/hello'); //模块提示//用户模块Route::group('user',function (){ //控制器//个人中心Route::any('index','/index');//方法//})->prefix('api/user');//访问方法前缀(模块/控制器)})->prefix('api')->middleware('oauth')->ext('htm');//api模块部分采用oauth中间件,并所有接口默认添加htm结尾
我们注意到oauth中间件,中间件需要在config下middleware.php中注册,不注册的默认会访问命名空间为 app\http\middleware下的控制器,下边为注册的方式。
'oauth' => 'app\middleware\Oauth:class',
之后我会详细描述中间件以及jwt的使用方法