我对棘轮和西弗尼都是新手。我正试着熟悉他们。我使用了替代会话,这是相当奇怪的,但工作。这是它:
在JS (原生PHP会话)中
name = "<?php echo $_SESSION['name']; ?>";
msg = elem.value;
socket.send(name+"|"+msg);然后,发送的参数是带有分隔符|的|。它创建了两个字符串。一个是名称,另一个是msg,然后将其发送到除发送方以外的所有连接。
list($name, $message) = explode("|", $msg);我如何使用Symfony会话,它在用户输入昵称时保存,并且我的聊天类可以在MyApp命名空间中访问它?
我有API文档,但是没有使用会话的简单示例。API Documentation。
树:
/www
|
|___/src
| |
| |____/MyApp/
| |
| |___Chat.php // The Chat Class
|
|___/bin
| |
| |___chat-server.php
|
|___/vendor
|
|___/chat.php // <-- Chat Room, sending and receiving here
|
|___/index.php // <-- Ask for nickname here
|
|___/composer.phar
|
|___/composer.lock
|
|___/main.js // <-- Index HTML javascript
|
|___/socket.js // <-- Websocket handler for char.php
|
|___/main.css // <-- All style发布于 2013-09-07 10:52:47
控制器可以在会话中将昵称设置为:
/**
* @Route("/hello/{nickname}")
*/
public function indexAction($nickname)
{
$session = $this->getRequest()->getSession();
$session->set('nickname', $nickname);
}要在聊天应用程序中检索昵称,
public function onOpen(ConnectionInterface $conn)
{
$nickname = $conn->Session->get('nickname');
}https://stackoverflow.com/questions/18671031
复制相似问题