Database design 链接应该是数据库驱动的还是在php文件中硬编码的?

Database design 链接应该是数据库驱动的还是在php文件中硬编码的?,database-design,hyperlink,Database Design,Hyperlink,正如标题所说:链接应该是数据库驱动的还是在php文件中硬编码的?我指的是我们在网站上看到的所有系统链接,如页眉、页脚、隐私、导航链接、页面链接等。我想到的是如下表格: link_id, url, description. 我想这样做的一个原因是为了链接跟踪,因为我不确定如果链接不是db驱动的,如何跟踪链接?我不确定我是否100%正确理解,但通常您希望尽可能减少与数据库的交互,因为这会大大降低网站的速度。如果你想跟踪你链接上的所有点击,首先,实际上没有必要将链接本身存储在数据库中,因为在其他事情

正如标题所说:链接应该是数据库驱动的还是在php文件中硬编码的?我指的是我们在网站上看到的所有系统链接,如页眉、页脚、隐私、导航链接、页面链接等。我想到的是如下表格:

link_id, url, description.

我想这样做的一个原因是为了链接跟踪,因为我不确定如果链接不是db驱动的,如何跟踪链接?

我不确定我是否100%正确理解,但通常您希望尽可能减少与数据库的交互,因为这会大大降低网站的速度。如果你想跟踪你链接上的所有点击,首先,实际上没有必要将链接本身存储在数据库中,因为在其他事情中,更改网站上的内容会让你更加痛苦。对于两个人来说,使用像或这样的分析应用程序可能会更快乐


因此,对于静态链接,您几乎肯定希望对其进行硬编码。您的web应用可能有一些动态链接,例如,如果用户登录,您希望自定义基于该用户显示的某些链接。因此,在数据库中有一个类似于用户表的用户id,并在应用程序中有基于该用户id创建的链接的逻辑更为合理。

链接管理和链接跟踪是两个独立的问题

如果您对跟踪链接被点击的频率感兴趣,则需要设置某种重定向方案或javascript来记录用户点击链接的情况

如果您只是担心链接URL在将来会发生变化,那么最好考虑一下PHP文件的设置方式。对于包含在许多页面(如页眉或页脚)中的内容,请为其设置单独的文件并将其包含在页面中

尽可能避免在PHP文件之间复制和粘贴内容。如果您深思熟虑地使用includes,那么如果这些静态链接发生更改,您只需要更新少数文件

此外,将显示在数据库中每个页面上的链接URL设置为1可能不是一个好主意。如果数据库未启动且为2,您的页面将不会显示。您可能会创建大量额外的数据库请求。至少,限制使用数据库跟踪点击链接离开站点的人


如果你只是想追踪人们点击你网站页面之间链接的频率,最好在事后在http日志上使用web日志分析器,或者安装Google Analytics。

我不想麻烦将它们存储在数据库中,但你可以创建一个带有字符串->URL关联数组的php文件。这样,您就可以按名称引用它们。您还可以创建一个函数,该函数接受url的名称和一些查询字符串参数,并返回所需的url。一种避免硬编码URL的好方法,对我很有用