todstoychev / sse
服务器端发送事件库。
dev-master
2017-05-24 19:04 UTC
Requires
- php: >=7.0
This package is not auto-updated.
Last update: 2024-09-15 03:18:56 UTC
README
SSE 是一个 Laravel 包装器,用于 PHP 库 LibSSE,用于实现异步服务器端发送事件并将它们传递到视图中。
Laravel 支持的版本
Laravel: 5.1
稳定性
稳定
安装 SSE
使用 composer 下载最新包到 laravel 安装目录
composer require manfal/sse
或手动在 composer.json 的 require 数组中添加包
"manfal/sse": "dev-master"
然后运行
composer update
将以下服务提供者在 config/app.php 文件中的 providers 数组下放置。
'manfal\sse\SSEServiceProvider'
将以下外观者在 config/app.php 文件中的 aliases 数组下放置。
'SSE' => 'manfal\sse\SSEFacade', 'SSEEvent' => 'manfal\sse\SSEEventFacade'
使用方法
- 在 resources/views 目录中创建一个新的视图,命名为 ssedemo.blade.php,放置以下 HTML 和 JS 片段。
<span id="time"></span> <script> var source = new EventSource('{!!url("/ssedemo")!!}'); var d = document.getElementById('time'); source.addEventListener('time',function(e){ var time = e.data; d.innerHTML = time; },false); </script>
- 通过 artisan CLI 创建一个新的控制器
$> php artisan make:controller SSEDemoController
- 在 SSEDemoController 中放置以下代码
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use SSEEvent; use SSE; class TimeEvent extends SSEEvent { public function update(){ return date('l, F jS, Y, h:i:s A'); } } class SSEDemoController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function index() { return view('ssedemo'); } public function sseCheck() { $sse = new SSE(); $sse->exec_limit=10; $sse->addEventListener('time',new TimeEvent()); $sse->start(); } }
- 在 app/Http/routes.php 中创建一个新的路由
Route::get('/ssedemo', 'SSEDemoController@sseCheck');
- 刷新您的浏览器。