2016-01-21 30 views
2

創建用於生成自定義類或文件的工匠命令的最佳方式(或者實際完成的方式)是什麼?像php artisan make:console本身爲我們的新工匠命令創建一個php類。創建一個用於生成自定義類或文件的工匠命令

從我能想到的,我們有兩個選擇:

  • 添加使用PHP定界符新文件的模板(或新命令的類文件中的任何字符串對於這個問題),這是真的很混亂。

  • 將模板文件放在某處,讀取它,替換所需內容,然後創建新文件。但我不知道在哪裏最好放置模板文件。

那麼在Laravel處理這種情況是否有最佳做法?我搜索了它,但只有簡單的手工命令創建的文章和文檔。

回答

7

Laravel使用.stub文件作爲模板,並替換模板內的標記。

既然你提到的make:console命令,以供參考您可以在以下文件看看:

  • vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/console.stub
    on github
    此作出新的控制檯命令的模板。
  • vendor/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php
    on github
    這是當你運行php artisan make:console命令被執行的代碼。

如果你想看看這樣做的軟件包,一個很好的例子是Laracasts的Jeffrey Way的generators軟件包。

+1

@patricus幹得好。我也查看了供應商,但我想我還不夠徹底:-)。所以我會將mu stub文件放在'app \ Console \ Commands \ stubs'中。謝啦 –

相關問題