PHP cli微框架?

时间:2011-08-25 20:15:43

标签: php frameworks command-line-interface

我想在PHP中编写一个小的CLI脚本,基本上有两个可能的参数来做两件事。很容易。但我想以优雅的方式做。

我想知道它是否在CLI模式下存在一些PHP微框架功能(注意我说微框架而不是框架)。我想使用PHP,因为我将包含一些PHP已编程的类。

我找到了CLImax,这是一个特定的CLI微框架,看起来不错,但它缺乏一个好的文档。

你知道我能找到一个好的CLImax文档的任何地方(我没有找到任何东西,但它的源代码记录不清楚)?

或者你知道另一种选择吗? Alloy似乎也是一个轻量级的PHP框架,并且具有CLI“模式”,但我不知道它是否过于通用,因为它也适用于Web服务器。你用过吗?

8 个答案:

答案 0 :(得分:19)

查看Symfony Console componentHere's an introduction to using it.使用旧版本的PHP(没有命名空间)可能需要一些工作,而且你需要Symfony的其他几个组件,但我已经非常成功地使用它了。

答案 1 :(得分:7)

我找到了这个:php-cli-tools

它绝对是 micro ,带来了你用 sh 或windows批处理所拥有的一切。

答案 2 :(得分:6)

它没有我能看到的很好的文档,但是Cilex将自己描述为: -

  

“用于创建受Silex启发的PHP CLI脚本的轻量级框架”

可能值得一看,我正在考虑自己使用它来替换我编写的bash部署脚本。

答案 3 :(得分:3)

Laravel有一个名为 Artisan 的命令行工具,可以让您轻松扩展;

  

Artisan是Laravel中包含的命令行界面的名称.... [Artisan Development]除了Artisan提供的命令外,您还可以构建自己的自定义命令以使用您的应用程序。

请参阅Artisan开发的文档here

答案 4 :(得分:3)

查看https://github.com/c9s/CLIFramework

CLIFramework是一个用于命令行工具的全栈框架,与Symfony / Console不同,它有一个简洁的API,用于构建轻量级命令行应用程序。

它允许您定义一些选项和参数信息以快速生成帮助文档。

最重要的部分是CLIFramework可以自动生成zsh完成脚本,因此您不需要为每个命令行应用程序编写zsh脚本。

zsh completion generator

答案 5 :(得分:1)

您可能对我的php cli框架感兴趣:https://github.com/b-b3rn4rd/Terminalor Terminalor - 是一个用于创建可移植的php cli文件的php库。它提供了在cli接口下工作的基本功能,可以用作外部库的包装器。它允许使用闭包和phpdoc注释快速创建带有参数的文档化cli命令。之后,这些命令可以编译成单个独立的可移植文件。

答案 6 :(得分:1)

你试过Seagull吗?看起来它本身也支持专门用于CLI的项目。

答案 7 :(得分:1)

我不喜欢'认为上面的许多建议都是微框架 - 即使许多建议都是很好的框架 - 并且在许多用例中比我的建议更合适:https://github.com/diversen/minimal-cli-framework

它比上述框架快得多(尽管很少需要来自CLI框架的速度)。它允许您使用类对象添加子命令。它从单个方法生成帮助和命令定义。您只需要对现有类实现两个方法,即将它与minimal-cli-framework(getCommand - 命令的定义和runCommand - 执行命令一起使用)。

Disclaminer:我写了这个包。