Pripojenie sa na DB (WebSocket)
- KrKOo
- Člen | 3
Snažím sa urobit jednu WebSocket-ovú aplikáciu ktorá po každom pripojení/odpojení užívatela pošle niečo do databázy, akurát sa mi nejde pripojit.
<?php
namespace WebSocket;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use Nette;
class Chat implements MessageComponentInterface {
protected $clients;
private $database;
public function __construct(Nette\Database\Connection $database) { // <<---------
$this->clients = new \SplObjectStorage;
$this->database = $database;
}
Tu sa vytvara object z Chat
<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use WebSocket\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat() // <<-------
)
),
8080
);
$server->run();
Mám tam zatial tento kód ale ked vytvaram object tak tam musim pridat
nejaky parameter ale neviem aky.
Vopred ďakujem za pomoc.
- Ondřej Kubíček
- Člen | 494
jakto že nevíš jaky?
šak v construktoru vidíš, že to
chce Nette\Database\Connection
co tak z toho kousku vidím, tak to není nette aplikace, není tam žádný
DI kontejner, takže si to asi budeš muset povytvářet všechno ručně
sám
takže si uděláš novou instanci Connection a předáš ji do constructoru
třídy Chat
- Ondřej Kubíček
- Člen | 494
no ale ti říkam, že tam nemáš žádnou ted nette aplikaci. kde máš nějaké vytváření toho containeru, abys to mohl použít tak jak chceš?
- Ondřej Kubíček
- Člen | 494
container vytvoříš klasicky, viz třeba sandbox https://github.com/…ootstrap.php