首先:我的问题可能会引发众多意见,我相信我所寻求的可以通过多种方式实施。
背景
像Google+和Facebook这样的网站向用户推出了新功能,有时是少数用户,有时他们会向全公众推送新功能。推出新的网站功能和功能可能是许多网站所做的,包括这里提到的。
就我而言:
我有一个菜单可供网站上的每个用户随时访问。这意味着它以一种非常熟悉的方式与Windows中的“开始菜单”类似。现在,我的这个菜单是根据一些PHP代码的请求绘制的。目前我有一个多维数组,它包含所有菜单项和导航链接。我的想法是,偶尔出现一个新功能时,我会将它添加到我的多维数组中(稍后将由数据库生成),PHP代码将在菜单中将其作为新项目呈现给(新!突出显示标记)。
我的主要问题:
使用数据库表的方法是启用/禁用和向用户推出新功能的好方法吗?
我想要实现的目标:
赏金:我给了我的五点信誉,以便对我的问题有一个好的答案。感谢很多。
答案 0 :(得分:4)
对于近静态菜单,如果期望得到一致的结果,您将希望避免不断连接到数据库并运行http://docs.aws.amazon.com/AWSImportExport/latest/DG/SamplePOSTRequest.html?Action=GetStatus&SignatureMethod=HmacSHA256&JobId=JOBID&SignatureVersion=2&Version=2014-12-18&Signature=%2FVfkltRBOoSUi1sWxRzN8rw%3D&Timestamp=2014-12-20T22%3A30%3A59.556Z
查询。
保存菜单内容的数组可以使用PHP的SELECT
或serialize()
函数保存到另一个文件中。您必须操作菜单表的代码将调用这些代码以在更改时更新静态文件。 PHP组件将从这些文件加载以创建菜单,而不是从数据库中加载。
另一种方法是将json_encode()
内容放入您网站的一个JavaScript文件中,将其包含在页面中,然后使用JavaScript绘制菜单。浏览器将缓存该文件,并且在更新时您可以更改文件名或增加其中的计数器,并更改包含行,也许json_encode()
以便浏览器加载更新的内容。
答案 1 :(得分:2)
认为你可能是对的这个问题很可能引发不同的意见;-)。 IMO关键部分是您的问题,如下所示:
Google+和Facebook等网站向用户推出新功能, 有时是少数用户,有时他们会向整个公众推送新功能。
数据库是否有User
表或类似名称,包含所有已知用户?如果是这样,那么提供选择向所选用户推出功能的灵活性是有意义的,可能是手动选择的,也可能是基于诸如角色,地理位置,配置文件等标准。在这种情况下,最有意义的是利用数据库的关系特征,例如通过Feature
(*)之类的中介创建User
表和与UserFeature
的多对多关系。这将避免与动态用户数据相关的未来维护难题。
(*)或选择您自己的首选粒度
答案 2 :(得分:0)
这不是答案。只是一个信息性的回应,@ Mike.k和@SteveChambers都提供了有趣的输入,但是,他们都没有提供直接的证据解决方案。无论如何,我将第一个答案回复标记为“答案”,而第二个答案则是+1。非常感谢。我将让一些主持人或管理员在7天结束时决定赏金。 :d
此主题已正式关闭。
for(;;) { print(":D"); }