soleon/sc-php
最新稳定版本:v1.0.2
Composer 安装命令:
composer require soleon/sc-php
包简介
SocketCluster - PHP library for interacting with the SocketCluster.io
README 文档
README
PHP library for interacting with the SocketCluster.io
It's an unofficial client php for SocketCluster (Is an open source realtime WebSocket framework for Node.js from socketcluster.io for PHP 5.5.9+).
Contents
Installation
You can install this package by simply run this composer command:
composer require soleon/sc-php
Usage Basic
$optionsOrUri = 'wss://localhost:443/socketcluster/?servicekey=abc' OR $optionsOrUri = [ 'secure' => true, 'host' => 'localhost', 'port' => '443', 'path' => '/socketcluster/', 'query' => [ 'servicekey' => 'abc' ], ]; $websocket = \SocketCluster\WebSocket::factory($optionsOrUri); $socket = new \SocketCluster\SocketCluster($websocket); // Event Emit $data = ['message' => 'FooBar']; $socket->publish('CHANNEL_NAME', $data);
Integrations
Laravel Framework
Then, add this service provider in your providers array [app/config/app.php]:
SocketCluster\Providers\LaravelServiceProvider::class,
Then, add this Facade to your aliases array [app/config/app.php]:
'SocketCluster' => SocketCluster\Laravel\SCFacade::class
Next you have to copy the configuration to your connections array [app/config/broadcasting.php]:
/* * Set default broadcasting driver to socketcluster */ 'default' => env('BROADCAST_DRIVER', 'socketcluster'), 'socketcluster' => [ 'driver' => 'socketcluster', 'options' => [ 'secure' => true, 'host' => 'localhost', 'port' => '443', 'path' => '/socketcluster/', 'query' => [], ], ]
Usage Laravel
- With Facade
SocketCluster::publish('ChannelName', ['message' => 'Test publish!!']);
With Event Listener
Add a custom broadcast event to your application example [app/events/PublishToSocketClusterEvent.php]:
namespace App\Events; use App\Events\Event; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class PublishToSocketClusterEvent implements ShouldBroadcast { use SerializesModels /** * Content Message * @var string */ public $message; /** * Construct Event * @param string $message */ public function __construct($message) { $this->message = $message; } /** * Get the channels the event should broadcast on. * @return array */ public function broadcastOn() { return ['channelName']; } /** * Get the data to send. * @return array */ public function broadcastWith() { return [ 'message' => $this->message ] } }
Now to publish in your application simply fire the event:
event(new App\Events\PublishToSocketClusterEvent('Test publish!!'));
Pimple
Pimple is a simple PHP Dependency Injection Container
Examples of frameworks that use: Silex, Slim
Registering this service provider
$app->register(new SocketCluster\Providers\PimpleServiceProvider(), array( 'socketcluster.options' => array( 'secure' => true, 'host' => 'localhost', 'port' => '443', 'path' => '/socketcluster/', 'query' => [], ) ));
Usage Pimple
$app['socketcluster']->publish('CHANNEL_NAME', $data);
Contribution
Support follows PSR-2 and PSR-4 PHP coding standards, and semantic versioning. Fork this project and make a pull request!
License
This project is free software distributed under the terms of the MIT License.
统计信息
- 总下载量: 30.77k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 16
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-07-06