# 基于thinkphp3的浏览器自动刷新插件 **Repository Path**: tonicgb/tp3_browser_sync ## Basic Information - **Project Name**: 基于thinkphp3的浏览器自动刷新插件 - **Description**: 该项目主要是通过修改代码实现浏览器的自动刷新 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-27 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于thinkphp3的浏览器自动刷新插件 # browser_sync 该项目是基于tp3.1开发的浏览器自动刷新工具,思路是来源于一个node.js开发的一个html修改自动刷新工具[http://www.browsersync.cn/](http://www.browsersync.cn/) ,看了一个大兄弟tp5实现浏览器自动刷新于是使的tp3.1远古的框架也实现了根据自己的实际情况重新更改 将原来通过连接断开来进行刷新,改为通过发送消息来实现,由于没有学过cli的开发,简陋的实现了一下。 实现方式是采用workerman 的socket通知机制 ### 安装依赖workerman ``` composer require workerman/workerman ``` #### 下载文件,并放到相应的代码中去 使用nodejs的浏览器自动刷新,现已有[http://www.browsersync.cn/](http://www.browsersync.cn/),使用该工具走了一遍确实比较方便,该工具实现了代码修改浏览器自动刷新功能。但是后来发现php文件却不行,特别是tp控制器模板映射更加不行,为了能够提供效率,一直想通过php来实现,通过搜集资料,通过websocket js来监听文件修改来实现。根据这个方式在配合thinkphp3.1的行为能够实现 ## 使用方式 项目根目录执行 ``` php BrowserSync.php start 扩展 路径 php BrowserSync.php BrowserSync css,php,html application/tpl/default,application.... ``` 执行结果 ``` ...... Available commands: browser_sync.php cli的入口执行文件监听 扩展 需要监听的扩展,多个扩展可以使用逗号 路径 需要监听的文件,多个文件可以使用逗号 help 能够看到使用教程 ...... ``` 查看帮助 ``` php BrowserSync.php --help ``` 执行结果 ``` Usage: php BrowserSync.php [options] Options: browser_sync.php cli的入口执行文件监听 workamen命令 start/启动,start-d/启动(守护进程),status/状态, restart/重启,reload/平滑重启,stop/停止 debug 扩展 监听变化的文件后缀名,分号分割,例如:html;js;css;php [default: "html;js;css;php"] 路径 监听web根目录下变化的文件夹,分号分割,例如:application/tpl/default ``` 守护进程方式执行 ``` php BrowserSync.php start -d ``` 仅仅监听php文件或扩展 ``` php BrowserSync.php start-d start 扩展 路径 ``` 上述工作做完之后,手工刷新下浏览器,则在浏览器下方自动拼接相关js刷新代码 ``` ``` 如浏览器不需要刷新,则在url后拼接 ``` url?browser_sync=0 ``` 恢复刷新,则拼接 ``` url?browser_sync=1 ``` 这时,修改任意被监听的代码,则浏览器会自动刷新。