2013-02-18 102 views
5

我有一个php命令行工具,我想与世界分享。那么,实际上我打算写它,它是一个将设计文档加载到couchdb中的工具,但这不是重点。发布一个php命令行工具

无论如何,是否有包装PHP脚本的最佳做法,以便它们可以分发以便于安装?我正在考虑沿着好的旧线的东西“./configure &使& make install”,但如何做一个PHP脚本?我读过关于phar的书,但它似乎主要针对图书馆。那么有什么想法?或者其他项目如何做的例子?

+0

我认为主要的问题是您将不得不让每个人的计算机运行一个Web服务器,和/或安装PHP stand-a-one。 – 2013-02-18 10:51:19

+1

@ EM-Creations:您不需要Web服务器来运行PHP脚本。 – Johnsyweb 2013-02-18 11:03:47

+1

@Johnsyweb我说过你需要运行一个web服务器,并且只有一个web服务器会这样做吗?号码 – 2013-02-18 12:20:33

回答

1

Composer是如何打包该工具的一个很好的例子,既可以作为独立的源代码集,也可以运行代码。我安装了它作为药业,现在可以运行在任何地方为“composer --options args

+0

ah yep我刚刚在composer上读了一些,看起来像.phar脚本实际上可以被制作为可执行命令。我在这里阅读它:http://getcomposer.org/doc/00-intro.md他们建议做“sudo mv composer.phar/usr/local/bin/composer”。我认为这几乎是我所追求的。将检查详细信息... – 2013-02-18 11:19:34

+0

PHAR正是我正在寻找的东西,它看起来有点不直接,并且没有特别详细地记录如何实际创建PHAR存档。至少在此刻...... – 2013-02-18 11:39:41

+0

查看Composer的构建过程,也许还有phpunit。还有各种博客帖子或原始信息,位于http://www.php.net/manual/en/intro.phar.php – 2013-02-18 13:22:17

0

composer或旧的PEAR仍然广泛使用,特别是CLI工具。要创建您自己的PEAR频道,SensioLabs(Symfony家伙)的Pirum派上用场。

对于进一步阅读,斯图尔特赫伯特有一个伟大的series on component based development

+0

hm ...我知道PEAR和作曲家,但似乎这些工具主要用于将_dependencies_安装到项目中。我希望能够创建一些行为更像命令的东西,以便它可以位于/ bin目录中,只需键入命名即可从命令行调用它。 – 2013-02-18 11:14:31

+0

如果你的组件没有依赖关系,composer和PEAR仍然有用。特别是PEAR正是你所需要的。即通过PEAR安装PHPUnit的方式如下:'pear install pear.phpunit.de/PHPUnit' – 2013-02-18 11:20:38

+0

hm ..但是..在安装PHPUnit之后,我能得到一个我可以运行的命令行工具吗?哪一个? – 2013-02-18 11:37:34

0

退房CLIFramework它处理子命令,参数验证,选项值(多个标志,可选,默认值)和一个强大的zsh/bash补发生器。

编译命令也是开箱即用的,可帮助您将控制台应用程序编译到phar文件中进行分发。 (phpbrew使用这种方式来分发应用程序世界)

下面是使用的zsh完成发电机(它完成参数和选项)的截屏:

zsh completion generator

也有使用许多流行的应用程序CLIFramework和GetOptionKit。例如PHPBrew,LazyRecord