Zi 字媒體
2017-07-25T20:27:27+00:00
Create Custom CLI Commands Using the Symfony Console Component
PHP:7.2
symfony/console:5.2.3
在軟體開發的生涯中,很多時候開發一些小工具可以幫助我們快速處理一些 routine 的事情,但當小工具一多,若是沒有整理的話,要使用時都得重新看一次 code 才能知道在做什麼,再加上這些工具的使用說明往往不夠明確,也不一定可以交接給別人使用。
symfony/console 是 Symfony Framework 中的一個套件,專門用來實作 CLI Commands,Laravel 的 artisan 也是透過該套件實作,功能及結構相對比較完善,因此我們可以透過單獨使用 symfony/console 來實作較為完整的小工具。
Installation and Configuration
Install symfony/console
composer require symfony/console
Configure your Structure
由於 symfony/console 是結構非常完整的套件,因此就算只是開發小工具,目錄結構和 dependency 也要調整好才能運作。
先將 composer.json 的 autoload 調整好。
{
"require": {
"symfony/console": "^5.2"
},
"autoload": {
"psr-4": {
"BallBallTools\\": "src/"
}
}
}
接著按照你的需求設計目錄結構。
├── bin
│ └── console
├── composer.json
├── composer.lock
├── src
│ └── Command
│ └── CreateUserCommand.php
└── vendor
bin/console 會是我們的 CLI command 的進入點,相關的 Command 設定我都會放在 src/Command 底下。
最後再更新一下 composer。
composer dump-autoload
Create the Console Application
在建立第一個 Command 之前,我們需要先寫好進入點。
bin/console
#!/usr/bin/env php
寫了
5860316篇文章,獲得
23313次喜歡