1. Go to this page and download the library: Download neoan.io/broadcast 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/ */
neoan.io / broadcast example snippets
namespace App\Socket;
use Neoan\Routing\Attributes\Get;
use Neoan\Routing\Interfaces\Routable;
use NeoanIo\MarketPlace\Broadcast\ForClient;
// exposes the client-library to the path /client.js
#[Get('/client.js')]
class Client implements Routable
{
public function __invoke(): void
{
// This will deliver a generated JS-file
ForClient::exposeClient();
}
}
namespace App\Note;
use Neoan\Request\Request;
use Neoan\Routing\Attributes\Get;
use Neoan\Routing\Interfaces\Routable;
use NeoanIo\MarketPlace\Broadcast\ForClient;
#[Get('/api/note/:id')]
class GetNote implements Routable
{
public function __invoke(): array
{
// retrieving a single record
$model = NoteModel::get(Request::getParameter('id'));
// wrapping the record
return ForClient::wrapEntity($model->toArray())
->toRoom('notes')
->withId($model->id)
->broadcast();
}
}
namespace App\Note;
use NeoanIo\MarketPlace\Broadcast\Broadcast;
use Neoan\Model\Attributes\IsPrimaryKey;
use Neoan\Model\Attributes\Type;
use Neoan\Model\Model;
class NoteModel extends Model
{
#[IsPrimaryKey]
public int $id;
#[Type('MEDIUMTEXT')]
public string $content;
// will fire whenever the model is saved to the database
protected function afterStore(): void
{
// this broadcasts updates to the socket server
Broadcast::toChannel('notes')
->withId($this->id)
->withBody($this->toArray())
->emit();
}
}
namespace App\Note;
use Neoan\Request\Request;
use Neoan\Routing\Attributes\Put;
use Neoan\Routing\Interfaces\Routable;
#[Put('/api/note/:id')]
class PutNote implements Routable
{
public function __invoke(): NoteModel
{
$find = NoteModel::get(Request::getParameter('id'));
$find->content = Request::getInput('content');
return $find->store();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.