PHP:每个DB项的唯一页面,还是带有_GET的单个PHP页面


PHP: Unique pages per DB item or single php page with _GET?

我正处于开发一个网站的早期阶段,该网站将为每个数据库条目提供一个网页。我的问题是,(1(一个带有$_GET的php页面返回特定的数据库项目,或者(2(每个项目的单独网页,利弊是什么?

例如,示例1是这样的-

  • mysite.com/alphabet.php?letter=a
  • mysite.com/alphabet.php?字母=b
  • mysite.com/alphabet.php?字母=c

示例2是-

  • mysite.com/alphabet/letter_a.php
  • mysite.com/alphabet/litter_b.php
  • mysite.com/alphabet/litter_c.php

我使用了示例1,这是我唯一一个大量使用MySQL构建的网站。考虑到显示这些内容的代码对每个条目的作用都是相同的,我认为示例1将是最佳实践,但当我访问类似的网站时,他们似乎更喜欢示例2。

我试着在这个网站和网络上搜索这个答案,但这似乎是一个尴尬的搜索短语,因为我空手而归。任何见解都将不胜感激。

事实上,这两种用法都是过去几年的老派用法。主要使用以下格式:

  • mysite.com/alphabet/letter/a
  • mysite.com/alphabet/letter/b
  • mysite.com/alphabet/letter/c

这种格式被称为friendly urlpretty url,在大多数情况下,它指向具有一个参数abcAlphabet控制器的letter动作,其将类似于:

Class AlphabetController {
  public function letter($letter) {
    $DbModel->getListStartingWith($letter);
  }
}