enom / pharmon
受remy/nodemon启发的PHP目录监视脚本
1.0.3
2022-03-29 22:08 UTC
Requires
- ext-inotify: *
Requires (Dev)
- codeception/base: ^2.1@dev
- codeception/specify: dev-master
- escapestudios/symfony2-coding-standard: 3.x-dev
- friendsofphp/php-cs-fixer: ^2.10
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-29 05:21:10 UTC
README
受 nodemon 启发。用于基于PHP的应用程序开发期间。
Pharmon将监视Pharmon启动的目录中的文件,如果任何文件发生变化,Pharmon将自动重新启动您的PHP应用程序。
警告当前版本使用system()来执行命令。
安装
全局安装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 standard和composer run test都通过。