ThinkPHP 入口模块绑定

场景案例:当在开发有时候会对外开放接口(API),我们不希望用户访问到其他模块,只能访问api模块.

我们可以为API开一个单独的入口api.php(public目录下),就像public下的index.php一样。

如果不希望配置文件放到应用目录下面,可以在入口文件中定义独立的配置目录,添加
CONF_PATH常量
定义即可,这样让模块更加分明,例如:

// 定义配置文件目录和应用目录同级
define('CONF_PATH', __DIR__.'/../config/');

这里我的目录是按上面的方式配置过的。


首先,为了让模块自动绑定,即api.php入口文件自动绑定到app/api模块,我们需要在config中开启:

    // 入口自动绑定模块
    'auto_bind_module'       => true,
就像public/index.php自动绑定到app/Index目录。

添加api.php入口文件:

<?php

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
//定义配置文件目录
define('CONF_PATH', __DIR__.'/../conf/');
//define('BIND_MODULE','api');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

在api模块目录下新建控制器index.php:

<?php

namespace app\api\controller;

use think\Controller;
use think\Request;

class Index extends Controller
{
    public function index()
    {
        $data=[
          'name'=>'LEE',
          'age'=>14,
           'data'=> [
                'hh'=>'hh',
                'aa'=>'aa'
            ]
        ];
        return $data;
    }
PS:对于开放的接口一般我们会返回一些json数据给客户端,我们可以直接指定返回数据的类型,就像上面的return $data;

而不是每次都用return json_encode($data);我们可以为接口指定返回类型。
方法:在conf/api/config里加上配置。






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值