php slim 怎么用,PHP轻量级框架 Slim 使用(一)

项目目录

4aa0e9bac3530e79d6e63a444efcb255.png

其中主要业务操作在app目录中完成,可根据需求划分 我这里分成了两个目录 controller (控制器目录) lib(类库目录),如有需要可以添加 model(模型层)

45a8f2ee0c93936ea492278b3f6c3de7.png

controller 下可以根据需求划分成 Admin Home Common(公共目录,里面存放一些公用函数)

入口文件

在项目public目录下创建index.php(入口文件) 和 .htaccess(路径重写)

在入口文件我实例化APP类,并注册路由

require '../vendor/autoload.php';//导入配置文件

$setting = require '../config/config.php';//创建实例,传入配置项

$app = new \Slim\App($setting);//增

$app->post('/', '\Controller\home\GoodsController:addGoods');//查

$app->get('/', '\Controller\home\GoodsController:showGoods');//条件查询

$app->get('/{id}', '\Controller\home\GoodsController:searchGoods');//改

$app->post('/modify', '\Controller\home\GoodsController:modifyGoods');//删

$app->delete('/{id}', '\Controller\home\GoodsController:deleteGoods');$app->run();

注册路由需要传入两个参数,1. 路由地址  2. 回调函数

回调函数支持:

1. 普通函数

2. 匿名函数

3. 类调用

这里使用的是第三种方式

如果回调函数已类名调用,需要先注册自动加载:

在根目录下composer.json中添加

{"require":{"slim/slim": "^3.0",

"monolog/monolog": "^1.23"},

"autoload":{"files": ["app/controller/common/function.php"],

"psr-4":{"Controller\\":"app/controller/",

"Lib\\":"app/lib/"}

}

}

这个配置文件中有一个autoload段,用于自动加载

其中又包含主要的两个选项: files 和 psr-4。

files就是需要composer自动帮我们加载的函数库(不含类),只要在后面的数组中将函数库的文件路径写入即可。

psr-4顾名思义,是一个基于psr-4(http://www.php-fig.org/psr/psr-4/)规则的类库自动加载对应关系,只要在其后的对象中,以 “命名空间”: “路径” 的方式写入自己的类库信息即可。

修改完成后,需要composer install才能生效

回调函数中支持传入三个参数

请求/Request

第一个参数是一个 Psr\Http\Message\ServerRequestInterface 对象,表示当前的 HTTP 请求。

响应/Response

第二个参数是一个 Psr\Http\Message\ResponseInterface 对象,表示当前的 HTTP 响应。

参数数组/Arguments

第三个参数是一个关联数组,包含包含当前路由的命名占位符。

实例化 Slim\App 时可以传入一个参数,该参数可以是容器实例或者用于配置自动创建的默认容器的数组。

通常可以传入一个数组配置项

return array('settings' =>['displayErrorDetails' => true,

'debug' => true, //开启debug模式

'logger' =>['name' => 'slim-app',

'level' => Monolog\Logger::DEBUG,

'path' => __DIR__ . '/../logs/app.log',],//定义日志文件

],);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值