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文件中
    slim框架添加cli 支持编写脚本
    其次我在bin目录下创建了个console的文件,里面引入了slim框架的容器和实例化并加载了容器内设置好的settings里的commands
    slim框架添加cli 支持编写脚本
  3. 使用
    然后我在项目下建了个console的目录,composer.json里加入psr-4的加载项, 最后执行composer dump-autoload
    slim框架添加cli 支持编写脚本
    然后我建了个Console/TestCommand
    slim框架添加cli 支持编写脚本
    当然类的名字是要写到容器内的settingcommands数组内
    slim框架添加cli 支持编写脚本
    然后执行测试下
    slim框架添加cli 支持编写脚本

嗯 搞定

总结

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