ThinkPHP5.1如何实现交互式命令的灵活配置?

2026-04-02 03:250阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1340个文字,预计阅读时间需要6分钟。

ThinkPHP5.1如何实现交互式命令的灵活配置?

前言:在平时项目中,有时需要对这些业务进行批量处理,例如进行版本兼容性测试,或者实现不同系统间的数据同步等场景下,我们会选择自定义一些指令来定时或即时执行。但是,命令繁多,需要指令集。

前言:

在平时项目中,有时需要对某些业务进行批处理,比如为了版本兼容,或者不同系统的数据同步等场景下,我们会选择自定义一些指令定时或即时的执行。

但是有很多命令需要读表,随着定义的指令逐渐变多,模型里本不涉及业务性的方法也越积越多,甚至某些指令删除了,但是对应的模型方法还在。所以为了不影响业务代码,我们会临时起一个项目专门作为指令处理。但还是有一个问题的是,因为还是以框架新启的项目,自然里面的那些控制器,路由,配置项加载其实并不需要。

于是我就想参考框架的 console 单独写一个指令集,当看了代码后,发现了一个我们平时很少用到的交互式输出,也就是输出带着问题。其实在很多带有控制台的软件中很常见,比如一些脚手架或包管理器安装前的询问。以下就大概介绍一些 Tp 控制台的大致运行流程和交互式输出的使用。


流程:

1. think 文件

这个就是 TP 命令执行 (php think command) 的入口文件,其实也是一个 PHP 文件。

2. think\Console.php

自定义指令和配置的载入,控制台输入和输出的实例化和运行的转发

3. Output.php

其他的文件后期再总结,这里主要介绍一下输出的内容样式 (颜色,背景,字体) 和交互式输出,因为这两个东西在 TP 框架文档中很少几乎没有提起并且有点炫。

阅读全文

本文共计1340个文字,预计阅读时间需要6分钟。

ThinkPHP5.1如何实现交互式命令的灵活配置?

前言:在平时项目中,有时需要对这些业务进行批量处理,例如进行版本兼容性测试,或者实现不同系统间的数据同步等场景下,我们会选择自定义一些指令来定时或即时执行。但是,命令繁多,需要指令集。

前言:

在平时项目中,有时需要对某些业务进行批处理,比如为了版本兼容,或者不同系统的数据同步等场景下,我们会选择自定义一些指令定时或即时的执行。

但是有很多命令需要读表,随着定义的指令逐渐变多,模型里本不涉及业务性的方法也越积越多,甚至某些指令删除了,但是对应的模型方法还在。所以为了不影响业务代码,我们会临时起一个项目专门作为指令处理。但还是有一个问题的是,因为还是以框架新启的项目,自然里面的那些控制器,路由,配置项加载其实并不需要。

于是我就想参考框架的 console 单独写一个指令集,当看了代码后,发现了一个我们平时很少用到的交互式输出,也就是输出带着问题。其实在很多带有控制台的软件中很常见,比如一些脚手架或包管理器安装前的询问。以下就大概介绍一些 Tp 控制台的大致运行流程和交互式输出的使用。


流程:

1. think 文件

这个就是 TP 命令执行 (php think command) 的入口文件,其实也是一个 PHP 文件。

2. think\Console.php

自定义指令和配置的载入,控制台输入和输出的实例化和运行的转发

3. Output.php

其他的文件后期再总结,这里主要介绍一下输出的内容样式 (颜色,背景,字体) 和交互式输出,因为这两个东西在 TP 框架文档中很少几乎没有提起并且有点炫。

阅读全文