这是一个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),但几乎没有一本介绍命令行应用程序的结构。
这主要是基于观点的,但为什么要重新发明轮子?最好使用为您的用例开发的设计良好的第三方php库。
要创建基于PHP cli的应用程序,我个人最喜欢的是symfony控制台。
要运行第三方系统命令和二进制文件,您可以查看此库,它使您能够以更安全的方式执行外部命令,并协调操作系统的差异。