2017-09-04 107 views
2

我正在写一个PHP命令行应用程序,它会生成一些PHP代码,并希望在将代码样式修复程序存储到文件之前将其传递给代码样式修复程序。如何从代码运行php-cs-fixer?

是否可以使用php-cs-fixer作为库并从代码中调用它?

如果否,是否有其他解决方案来确保生成的代码符合PSR-2标准?

感谢,

+0

是的。 'magento/magento2'想要它发生,请参阅https://github.com/magento/magento2/pull/10770,但我真的不会推荐它。但是,如果您这样做,请查看“friendsofphp/php-cs-fixer”的维护人员Dariusz Ruminski在此PR中的评论:https://github.com/magento/magento2/pull/10770#issuecomment- 327829883 – localheinz

回答

1

我认为最简单的方法是:

  1. 把你生成的代码到一个临时文件。
  2. 复制php-cs-fixer二进制内容,除了最后一行(此处为第二个链接)。
  3. Application::setAutoExit(false)
  4. callApplication:run()ArrayInputBufferedOutput并检查返回值(应为零)。

或者只是shell_exec带有参数的整个命令。