2017-09-04 72 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帶有參數的整個命令。