乐趣区

slim框架添加cli-支持编写脚本

背景

前些日子有个小项目要写,用惯了 laravelthinkphp这种比较大的框架, 本来想用熟悉的框架写的,但想想不需要这么重的框架,于是便想到用 slim 一个微框架
官网: slimframework

后面有个需求需要写脚本, 但 slim 是个微框架,本身没有集成 cli 的支持的,于是就想着 自己动手 丰衣足食

解决

嗯 … 我第一个想到的就是 laravel 中使用的 symfony/console 毕竟好用, 于是说做就做。

    1. 安装 symfony/console
      composer require symfony/console v4.4.9
      这里指定版本是因为我本地php 是 7.1 有版本限制, 就没有使 用高版本的symfony/console
    2. 集成
      首先我把框架的容器设置,env 等等都集成到 bootstrap 目录下的 app.php 文件中

      其次我在 bin 目录下创建了个 console 的文件,里面引入了 slim 框架的容器和实例化并加载了容器内设置好的 settings 里的commands
    1. 使用
      然后我在项目下建了个console 的目录,composer.json里加入 psr-4 的加载项, 最后执行 composer dump-autoload

      然后我建了个 Console/TestCommand

      当然类的名字是要写到容器内的 settingcommands数组内

    然后执行测试下

    嗯 搞定

    总结

    1. 主要使用了symfony/console 使用方法可以见我上面贴的文档地址
    2. 主要就是为了让 symfony/console 集成到框架中, 并且能拿到 slim 的容器,这样我们才能在 cli 中使用 slim 容器中你集成的众多组件
    退出移动版