如何构建PHP命令行脚本?

时间:2015-02-15 14:15:49

标签: php coding-style command-line-interface

这是一个PHP编码风格的问题。

我创建了很多PHP命令行脚本,但我不确定它们应该如何构造。让我的所有代码都是全局的,我感到很自在,所以我把整个应用程序包装在一个类中:

<?php

class MyApp {

    public function parseCommandLine() {
        /* Parsing takes place here. */
    }

    public function doWork() {
        echo "This is all this app does.\n";
    }

    public function run() {
        $this->parseCommandLine();
        $this->doWork();
    } 
}

$app = new MyApp();
$app->run();

我的问题是:这是构建基于CLI的现代PHP应用程序的最佳方式吗?

有很多很棒的指南涵盖了PHP最佳实践(我个人最喜欢的是PHP The Right Way),但几乎没有一本指南涵盖了命令行应用程序的结构。

1 个答案:

答案 0 :(得分:2)

这主要是基于意见,但为什么重新发明轮子?您可能最好使用为您的用例开发的精心设计的第三方php库。

要创建基于PHP cli的应用程序,我个人最喜欢的是symfony console

要运行第三方系统命令和二进制文件,您可以使用look at this library以更安全的方式执行外部命令并协调操作系统差异。