在開發 laravel 項目時,我經常遇到一個問題:每次修改代碼后,都需要手動重啟 horizon 才能讓新的更改生效。這不僅浪費時間,還容易導致調試過程中出現各種奇怪的問題。特別是在本地開發環境中,這種情況尤為常見。
為了解決這個問題,我嘗試了多種方法,最終找到了 spatie/laravel-horizon-watcher 這個包。它提供了一個名為 horizon:watch 的 Artisan 命令,可以在本地環境中自動監控 php 文件的變化,并在文件被創建、更新或刪除時自動重啟 Horizon。
安裝這個包非常簡單,只需通過 composer 即可:
composer require spatie/laravel-horizon-watcher --dev
此外,你還需要安裝 JavaScript 包 chokidar,可以通過 npm 或 yarn 安裝:
npm install chokidar --save-dev
或
yarn add chokidar --dev
安裝完成后,你可以選擇發布配置文件:
php artisan vendor:publish --tag="horizon-watcher-config"
配置文件中可以指定需要監控的目錄和文件,例如:
return [ 'paths' => [ app_path(), config_path(), database_path(), resource_path('views'), base_path('.env'), base_path('composer.lock'), ], 'command' => 'php artisan horizon', ];
使用這個包非常簡單,只需運行以下命令:
php artisan horizon:watch
這樣,當你修改任何 PHP 文件時,Horizon 會自動重啟,確保你的最新代碼能夠立即生效。
使用 spatie/laravel-horizon-watcher 后,我的開發效率顯著提高,再也不用擔心忘記重啟 Horizon 而浪費時間調試了。這個包不僅解決了我的實際問題,還讓我在開發過程中更加專注于代碼本身,而不是繁瑣的操作。
總的來說,spatie/laravel-horizon-watcher 是一個非常實用的工具,特別適合在本地開發環境中使用。它通過自動化重啟 Horizon,極大地簡化了開發流程,提升了工作效率。如果你也在使用 Laravel Horizon 進行開發,不妨試試這個包,相信它會給你帶來同樣的便利。