rickysu/php-livereload

使用 PHP 实现的 livereload 服务器

v0.1.2 2017-01-16 08:54 UTC

This package is auto-updated.

Last update: 2024-09-14 18:58:21 UTC


README

Build Status Coverage Status

php-livereload 是用 PHP 编写的 livereload 服务器。

php-livereload 使用 livereload.js -- 一个实现 LiveReload 协议客户端的 JavaScript 文件。

安装

composer 安装 php-livereload。

{
    "require": {
        "rickysu/php-livereload": "dev-master"
    }
}

获取命令行 php-livereload

$ curl -O https://raw.github.com/RickySu/php-livereload/master/dist/reload.phar
$ chmod +x reload.phar
$ sudo mv reload.phar /usr/bin

安装 LiveReload Safari/Chrome/Firefox 扩展

测试

要运行测试套件,您需要通过 composer 安装依赖,然后运行 PHPUnit。

$ composer install
$ phpunit

使用 php-livereload

在项目根目录定义 livereload.json。

livereload.json

{
    "period": 1,
    "watch": {
        "web/css/":   "*.css",
        "web/js/":    "*.js",
        "web/img/":   "\\.png|gif|jpg$"
    }
}
  • period: 每 1 秒监控文件变化。
  • watch: 您想监控的文件和文件夹

初始化默认的 livereload.json 文件。

$ php bin/reload livereload:init

运行服务器。

$ php bin/reload server:run

自己创建 Live Reload

如果您想自己触发 live reload 服务器,只需将文件 POST 到 URL: https://127.0.0.1:35729/changed。或者,如果您想创建自己的 live reload 实现,请参考以下示例

# notify a single change
curl https://127.0.0.1:35729/changed?files=style.css

# notify using a longer path
curl https://127.0.0.1:35729/changed?files=js/app.js

# notify multiple changes, comma or space delimited
curl https://127.0.0.1:35729/changed?files=index.html,style.css,docs/docco.css

或者,您可以将信息批量放入 POST 请求中,将体作为文件 JSON 数组。

curl -X POST https://127.0.0.1:35729/changed -d '{ "files": ["style.css", "app.js"] }'

# from a JSON file
node -pe 'JSON.stringify({ files: ["some.css", "files.css"] })' > files.json
curl -X POST -d @files.json https://127.0.0.1:35729

许可证

MIT,见 LICENSE。