小编Igo*_*gna的帖子

Symfony2(WebsocketBundle) - 简单的私有(和组)聊天数据库模式和逻辑

我想在网站上实现一个非常简单的聊天,在2个注册用户和登录用户之间有私人消息(甚至可能是登录用户之间的群组消息).
以Whatsup为例,当然我不会有那么多用户.

资源:Symfony2 + WebsocketBundle
https://github.com/GeniusesOfSymfony/WebSocketBundle

两个问题:
1-您建议使用什么数据库架构?
2-我将如何管理"主题"?(阅读WebsocketBundle教程后,我了解如何订阅/取消订阅/广播主题.但我不知道如何管理用户和主题之间的关系,如何保护对话等等...
我只需要一些信息(无代码)关于应用程序的逻辑......要保存什么信息以及在哪里.)

例如,如何管理通道的名称(它是否会每次更改,还是将其存储在数据库中,并在下次用户登录时以某种方式重新使用)?

session.subscribe("acme/channel/id/12345", function(uri, payload){
    console.log("Received message", payload.msg);
});
Run Code Online (Sandbox Code Playgroud)

我已经尝试在搜索引擎优化和谷歌搜索,但找不到任何有用的信息.

chat symfony

12
推荐指数
1
解决办法
3205
查看次数

Symfony2 FosuserBundle:重新发送注册确认电子邮件

框架PHP:Symfony2.6

问题:我想在FosUserBundle中添加以下功能:"管理员可以将注册确认电子邮件重新发送给特定用户"(在网站的管理部分).

我已经构建了"用户详细信息"页面,管理员可以在该页面中查看在注册表单中输入的所有信息以及是否启用/确认了用户.如果未启用该用户,我将添加一个按钮以重新发送确认电子邮件.


另一种解决方案是在尝试使用未确认的凭据登录后显示指向该用户的链接.这是一个类似的问题(遗憾的是没有反馈,对我来说不是很清楚,只涉及第二种方法):

/sf/ask/1764341421/

能否请您指出最简单,最快捷的解决方案?

php confirmation-email symfony fosuserbundle

10
推荐指数
2
解决办法
4302
查看次数

Bower:下载DataTables插件以进行引导程序集成

关于凉亭和dataTables的基本问题.我想用bower下载用于bootstrap 3集成的dataTables插件.
(我已经用cdn链接测试了页面,一切正常......现在我想用凉亭).

这是DataTables网站上的参考页面:https:
//datatables.net/manual/styling/bootstrap

如你所见,这些是cdn链接:http://cdn.datatables.net/plug-ins/3cfcc339e89/integration/bootstrap/3/dataTables.bootstrap.css

http://cdn.datatables.net/plug-ins/3cfcc339e89/integration/bootstrap/3/dataTables.bootstrap.js

这里是Github存储库:https:
//github.com/DataTables/Plugins/tree/master/integration/bootstrap

注意:github repo的根包含许多插件; 我只想要两个文件(js和css)进行引导程序集成.

bower jquery-datatables

7
推荐指数
2
解决办法
9769
查看次数

Google/Youtube Api(第3版) - 验证视频的所有者

上下文:
我正在使用Symfony2(php)构建一个网站,我已经实现了一个社交(谷歌)登录功能(通过HWIOAuthBundle),允许用户:
- 使用自己的谷歌帐户注册一个新帐户
- 链接谷歌帐户现有的非社交帐户
因此,在我的数据库中,该users表已有一个google_id字段.

我想做什么:
用户必须能够提交自己视频的YouTube链接.这些链接将保存在数据库中但首先我需要验证提交链接的用户的视频BELONGS(已拥有).换句话说:用户无法提交其他人上传的视频.
我打算使用你可以在谷歌开发者网站上找到的Youtube API(php).

问题:
我如何验证这种情况?我可以使用users桌面上已有的Google ID 吗?或者我是否需要创建一个新youtube_id字段,因为id不同于google_id?我应该调用什么api功能/方法来验证视频所有权?
想法?

php youtube-api symfony

6
推荐指数
1
解决办法
494
查看次数

Symfony2 - PDO 会话 - 我需要手动删除记录还是一切都是自动的?

我已经实现了 PDO 会话存储(= 会话现在保存在 mysql 数据库表中)。这是 symfony2 参考:
http://symfony.com/doc/current/cookbook/configuration/pdo_session_storage.html

如果我访问我的网络应用程序的页面(即使没有登录),我的会话表中将添加 2 条记录。这是正常的吗?(一个用户有 2 条记录)
然后,如果我登录,这 2 条记录就会更改(但不会添加任何记录)。最后,如果我注销,两条记录再次更改,但没有删除任何内容。

如果现在一切都正确,那么过期会话的记录将如何/何时从数据库表中删除?我需要实现 cronjob 还是 symfony 会自动执行此操作?

那么,我是否需要做一些事情(=编写一些特定的代码)?

我发现了这个问题:
Symfony2,在数据库中配置 pdo 会话存储
垃圾收集器是否负责删除会话表中的记录?默认情况下是否处于活动状态?

php session pdo symfony

5
推荐指数
1
解决办法
2068
查看次数

Php/mysql排名系统 - 按列排序的结果集内的放置

在类似博客的网站中,所有用户都可以"加注"新闻(=将其加入书签,将其标记为"收藏").我有一个stats的mysql表.

table_news_stats

id_news
total_stars (int) //Total number of users who starred this news
placement (int)
Run Code Online (Sandbox Code Playgroud)

placement字段很直观:如果您按字段订购所有新闻,total_stars则会获得每条新闻placement.因此,大多数明星的新闻都是数字1,依此类推.

因此,假设我有700个记录在我table_news_stats,和每一个我有idtotal_stars计数,我怎么能更新placement将自动为每个记录的字段?哪个查询更快/更好?

table_news_stats内容的示例:

First record (A):
1-3654-?

Second record (B):
2-2456-?

Third record (C):
3-8654-?
Run Code Online (Sandbox Code Playgroud)

如果按星号计数记录:记录顺序为C - A - B.

所以...结果将是:

First record (A):
1-3654-2

Second record (B):
2-2456-3

Third record (C):
3-8654-1
Run Code Online (Sandbox Code Playgroud)

澄清:
为什么我一直需要这个placement领域?
这很简单......每个月的第一天,放置字段将由cronjob填充.基本上它将提供每个新闻在受欢迎程度方面的排名"快照"(就像当月初).因此,感谢展示位置,我将获得以下信息:

"The 1st day of this month the 'top starred' news list …
Run Code Online (Sandbox Code Playgroud)

php mysql

2
推荐指数
1
解决办法
265
查看次数

jquery/javascript:return和if sentence

我的jquery/javascript问题:我需要返回一个html选择输入的代码,但我还需要动态设置所选的选项.

function(data){
  return '<select class="form-control"'+
            '<option value="1"'+ if(data === 1){selected}+'>Name 1</option>'+
            '<option value="2"'+ if(data === 2){selected}+'>Name 2</option>'+
            '<option value="3">Name 3</option>'+
          '</select>';
}
Run Code Online (Sandbox Code Playgroud)

注意:使用$(selector).val(data); 提交html后不是一个选项(不幸的是)

javascript jquery

0
推荐指数
1
解决办法
73
查看次数