已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。
8年前关闭。
Improve this question的
开始:我的问题可能会引发无数的意见,我相信我所寻找的可以通过多种方式实现。
背景:
像Google+和Facebook这样的网站向用户推出新功能,有时是一小部分用户,有时是向整个公众推出新功能。推出新的网站功能和功能可能是许多网站所做的,包括这里提到的那些。
在我的案例中:
我有一个菜单,网站上的每个用户都可以随时访问。这意味着它的作用有点像Windows中的开始菜单,非常熟悉。现在,我的这个菜单是根据请求由一些PHP代码绘制的。目前我有一个多维数组,它包含所有菜单项和导航链接。这个想法是,偶尔当一个新功能发布时,我会将它添加到多维数组(稍后将由数据库生成)中,PHP代码将在菜单中将其呈现为一个带有(NEW!突出显示标记)的新项。
主要问题:
使用数据库表的方法是否是为用户启用/禁用和推出新功能的好方法?
举例说明我想实现的目标:
x1c 0d1x的数据
2条答案
按热度按时间zsbz8rwp1#
对于一个接近静态的菜单,如果希望得到一致的结果,那么您需要避免不断地连接到数据库并运行
SELECT
查询。保存菜单内容的数组可以使用PHP的
serialize()
或json_encode()
函数保存到另一个文件中。操作菜单表的代码将在更改时调用这些函数来更新静态文件。PHP组件将从这些文件加载来创建菜单,而不是从数据库加载。另一种方法是将
json_encode()
内容放入站点的一个JavaScript文件中,将其包含到页面中,并使用JavaScript绘制菜单。浏览器将缓存该文件,在更新时,您可以更改文件名或增加其中的计数器,并更改包含行,可能是<script src='./menu_20150718.js'></script>
,以便浏览器加载更新的内容。wkftcu5l2#
认为你可能是对的这个问题很可能会引发不同的意见;-).海事组织你的问题的关键部分是在下面的粗体:
像Google+和Facebook这样的网站向他们的用户推出新功能,有时是一小部分用户,有时他们向整个公众推出新功能。
数据库是否有一个
User
表或类似的表保存所有已知用户?如果是这样的话,提供选择向选定用户推出功能的灵活性将是有意义的,所述选定用户可能是手动选择的,或者可能是基于诸如他们的角色、地理位置、简档等的标准。在这种情况下,利用数据库的关系功能将是最有意义的,例如,创建一个Feature
表,并通过UserFeature
()等中介与User
建立多对多关系。这将避免未来与动态用户数据相关的维护难题。()* 或选择您自己喜欢的粒度 *