这是一个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),但几乎没有一本指南涵盖了命令行应用程序的结构。
答案 0 :(得分:2)
这主要是基于意见,但为什么重新发明轮子?您可能最好使用为您的用例开发的精心设计的第三方php库。
要创建基于PHP cli的应用程序,我个人最喜欢的是symfony console。
要运行第三方系统命令和二进制文件,您可以使用look at this library以更安全的方式执行外部命令并协调操作系统差异。