网络 link 管理 - php 与数据库

web link management - php vs database

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

它是如何工作的,

此方法还使我能够将 tags/categories 分配给页面,或者向它们添加其他属性。而且,我以后可能也会将它用于媒体文件。

现在,问题是,我只能想到两种方法,一种是使用 PHP 中的数组,另一种是使用 MySQL 数据库。当网站增长时,数组可能会太多而无法处理,比如有数千页,另一方面,MySQL 数据库可能会变慢,同时也更麻烦。

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

管理它的典型方法是根本不用手动担心 URL,而留给 路由器 。最后,URL 只是 HTTP 协议的一个技术实现细节。您真正想要做的是唯一地标识特定的 pages/actions。查看任何支持反向路由的路由器;这里是 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 的规范位置(上面示例中的 path),其他任何地方您只需按名称引用您的目标页面(blog_show 这里)。如果您需要移动 URL,只有一个地方需要这样做。使这项工作正常进行的中间部分是路由器。