php - 网页链接管理 - php 与数据库

标签 php mysql arrays memory

我是网络开发新手,最近才开始在一个小网站上工作。现在的问题是,由于这是我第一次,我在服务器上移动了很多页面,因此我必须不断更新链接到它的所有其他页面。因此,我正在考虑一种链接页面的动态方式,这样我就不必在多个位置进行更新,而只需在一个位置进行更新。

它的工作原理是这样的,

  • 将会有一个单独的数据库之类的东西,其中将包含所有网页的更新地址,以及用于识别它们的唯一 key 。例如。 page12345 =“/about/us.php”
  • 以及我想要包含页面链接的任何地方,而不是输入 <a href="/about/us/php">..</a> ,我必须输入类似 <a href="<?php echo $arr['page12345'] ?>">..</a> 的内容,或者类似的东西

此方法还将使我能够为页面分配标签/类别,以及/或向它们添加其他属性。而且,稍后我可能也会将它用于媒体文件。

现在,我能想到的只有两种方法,一种是在 PHP 中使用数组,另一种是使用 MySQL 数据库。当网站增长并且有数千个页面时,数组可能会难以处理,另一方面,MySQL 数据库可能会变得更慢,同时也更麻烦。

那么你的建议是什么?哪个会更有效率。或者有更好的方法,我愿意接受您可能有的任何其他想法。

最佳答案

典型的管理方法是根本不用手动担心 URL,而将其留给路由器。归根结底,URL只是HTTP协议(protocol)的一个技术实现细节。您真正想做的是唯一地标识特定的页面/操作。查看任何具有反向路由功能的路由器;这里是Symfony implementation :

blog_show:
    path:     /blog/{slug}
    defaults: { _controller: 'BlogController::showAction' }
<a href="{{ path('blog_show', {'slug': 'my-blog-post'}) }}">Read this blog post.</a>

这无疑是一个非常高级的抽象,使用 YAML 来指定路由和 Twig用于使用自定义函数进行模板化。然而,它希望能够展示我们的目标:在实际链接中根本不用太担心 URL。您需要有一个定义 URL 的规范位置(上例中的路径),在其他地方您只需按名称引用目标页面(blog_show 此处)。如果您需要移动 URL,那么您就需要在一个地方执行此操作。使这项工作有效的中间部分是路由器。

关于php - 网页链接管理 - php 与数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28878881/

相关文章:

php - 任何人都可以向我解释这个 php 代码注入(inject)攻击吗?

PHP PDO LEFT JOIN 多维数组

python - 如何使用python获取所有没有特定标签的mysql实例?

c - 在c中标记字符串的快速方法

arrays - 如何从 lua 数组中提取值?

PHP 使用 getResults 根据结果过滤和回显响应

javascript - $ 未在 javascript 中定义 ajax 请求

mysql - 握手过程中通讯失败。是否有服务器在本地主机 :3306? 上运行

javascript - jQuery 合并多个 javascript 数组值

php - 银条3 : Uncaught Exception in draft only