enom/pharmon

受remy/nodemon启发的PHP目录监视脚本

1.0.3 2022-03-29 22:08 UTC

This package is auto-updated.

Last update: 2024-09-29 05:21:10 UTC


README

nodemon 启发。用于基于PHP的应用程序开发期间。

Pharmon将监视Pharmon启动的目录中的文件,如果任何文件发生变化,Pharmon将自动重新启动您的PHP应用程序。

警告当前版本使用system()来执行命令。

Build StyleCI

安装

全局安装Pharmon。

composer global require enom/pharmon

您需要将Composer的bin目录添加到~/.bash_profile(或~/.bashrc)中的PATH,通过添加以下行

export PATH=~/.composer/vendor/bin:$PATH

用法

监视目录并在文件更改时运行命令。

pharmon
# Runs `php index.php` and watches the current directory

适用于代码审查和测试。您可以使用-w标志指定一个或多个要监视的目录,并使用-x标志指定一个或多个要执行的命令

pharmon -w src/ -w tests/ -x 'composer run test'
# Runs `composer run test` and watches the specified directories

您还可以使用命令字符串中的@来获取触发更改的绝对文件路径

pharmon -w src/ -x 'composer run lint:file @'
# Runs (e.g.) `composer run lint:file /var/www/pharmon/src/Pharmon/Watcher.php`

在命令字符串中,@符号可以转义,这将防止替换发生

pharmon -w dist/ -e js,css -x 'scp @ deploy\@env.host:@'
# Runs (e.g.) `scp /var/www/dist/app.js deploy@env.host:/var/www/dist/app.js`

限制

PHP默认不启用多线程支持,因此无法同时监听文件系统事件和手动重启(#9)。

开发

请确保在推送之前,composer run standardcomposer run test都通过。