3个问题:包括页眉/页脚文件,varchar作为pk,切换语言


3 Questions: include header/footer file, varchar as pk, switch languages

在MVC模型下的注意事项

1.包括页眉/页脚文件

包含页眉或页脚文件以重用代码是否常见?然而,我有一个问题:如果我有几个css/js文件需要添加到头文件的头部,并且它们在不同的控制器中可能并不总是相同的。我不想把它们都加在脑子里。我该怎么办?

  1. Varchar作为pk

假设我有一个表"users",并且有一个自动递增整数列id和一个varchar列作为username,这是唯一的。事实上,我总是使用用户名来搜索数据。通过用户名取回id,然后使用该id进行sql操作,这值得吗?最好将用户名设置为pk?

3.语言切换

假设我有一个表"类别",其中包括一列名称,并且是英文形式。名称将打印在网站上。如何切换语言?

我想了一个解决方案,那就是名称充当变量名称,而不是真正的数据。例如名称存储一个名为cat_product的变量名dnd,然后将其用作$lang['cat_product']='product';

这是一个好方法吗?

  1. 是的,重用页眉和页脚以最大限度地减少代码复制是一种常见的做法,然而,没有什么能阻止您将其严格控制在最低限度,然后根据您所在的页面计算元素和样式并将其附加到我们的页脚和页眉。

  2. 即使用户名是唯一的,使用唯一的id来识别表中的用户仍然是更好的做法,因为它们将更快地与SQL引擎进行比较。

  3. 使用不同语言的网站的常见做法是从用户的pref文件(或配置文件)加载语言,并在代码中处处使用变量而不是纯文本。

  1. 在控制器上,在加载视图之前(我想这里是加载页眉/页脚的地方),您可以加载一个数组,其中包含每个控制器中需要的脚本,以及header/footer.PHP上的PHP循环,在这里您可以为每个位置打印<script></script>标记。

  2. 总是用数字的自动递增id代替varchar更好。当您必须在varchar中生成新代码时,代码复杂性会增加一点。如果你能使用int id,那就去做吧。

  3. 我曾经有几个文件es_<file>.phpen_<file>.php等…用不同的语言使用相同的变量和相同的内容。然后,您只需加载所需的文件,并根据自己的意愿使用vars。

相关文章: