PHP code example of osumionline / plugin-websocket
1. Go to this page and download the library: Download osumionline/plugin-websocket library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
osumionline / plugin-websocket example snippets
declare(strict_types=1);
namespace Osumi\OsumiFramework\App\Task;
use Osumi\OsumiFramework\Core\OTask;
use Osumi\OsumiFramework\Plugins\OWebsocket\OWebsocket;
class StartServerTask extends OTask {
public function run(array $options=[]): void {
OWebsocket::setValidateMethod([$this, 'validateToken']);
OWebsocket::loadActions();
OWebsocket::start();
}
public function validateToken(string $token): ?array {
if ($token === 'test-token') {
return [
'id' => 1,
'name' => 'Admin'
];
}
return null;
}
}
declare(strict_types=1);
use Osumi\OsumiFramework\Plugins\OWebsocket\OWebsocketAction;
use Osumi\OsumiFramework\App\Websocket\Modules\PingComponent;
use Osumi\OsumiFramework\App\Websocket\Modules\LoginComponent;
use Osumi\OsumiFramework\App\Websocket\Modules\SendMessageComponent;
OWebsocketAction::register('ping', PingComponent::class);
OWebsocketAction::register('login', LoginComponent::class);
OWebsocketAction::register('send-message', SendMessageComponent::class, true);
$component->render($request);
declare(strict_types=1);
namespace Osumi\OsumiFramework\App\Websocket\Modules;
use Osumi\OsumiFramework\Core\OComponent;
use Osumi\OsumiFramework\Web\ORequest;
class PingComponent extends OComponent {
public string $status = 'ok';
public array $data = [];
public function run(ORequest $req): void {
$this->data = [
'message' => 'pong'
];
}
}