首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >棘轮会话存储

棘轮会话存储
EN

Stack Overflow用户
提问于 2013-09-07 07:44:11
回答 1查看 1.9K关注 0票数 0

我对棘轮和西弗尼都是新手。我正试着熟悉他们。我使用了替代会话,这是相当奇怪的,但工作。这是它:

在JS (原生PHP会话)中

代码语言:javascript
复制
name = "<?php echo $_SESSION['name']; ?>";
msg = elem.value;
socket.send(name+"|"+msg);

然后,发送的参数是带有分隔符||。它创建了两个字符串。一个是名称,另一个是msg,然后将其发送到除发送方以外的所有连接。

代码语言:javascript
复制
list($name, $message) = explode("|", $msg);

我如何使用Symfony会话,它在用户输入昵称时保存,并且我的聊天类可以在MyApp命名空间中访问它?

我有API文档,但是没有使用会话的简单示例。API Documentation

树:

代码语言:javascript
复制
/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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-07 10:52:47

控制器可以在会话中将昵称设置为:

代码语言:javascript
复制
/**
 * @Route("/hello/{nickname}")
 */
public function indexAction($nickname)
{
    $session = $this->getRequest()->getSession();
    $session->set('nickname', $nickname);
}

要在聊天应用程序中检索昵称,

代码语言:javascript
复制
public function onOpen(ConnectionInterface $conn) 
{
    $nickname = $conn->Session->get('nickname');
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18671031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档