0

什么时候应该创建多个页面来显示内容,或者创建一个集中的页面来获取数据以通过 PHP 和 MySQL 显示?


我的具体情况是这样的:我有一个数学网站,其中包含用于各种简单目的的计算器,例如简化部首、求解指数等。目前,每个计算器都有自己的页面(所以有simplifying_radicals.phpand solving_for_exponents.php),导致多个页面用于计算器。

我想知道是否应该将所有这些页面压缩成一个从数据库中获取内容的页面。例如,如果用户访问了calculators.php?calculator=simplifying_radicals,PHP 页面会从 Simplified_radicals 行中获取所有数据以正确显示。

该数据库将包含一个指向每个计算器脚本的链接(它是通过 Javascript 计算的)、一个中等长度的过程描述,以及供用户自己尝试的练习题。每个计算器都有类似的格式,但我担心将计算器压缩到一个页面会降低灵活性并且速度较慢,因为服务器必须从数据库中获取内容。


所以,基本上,我对以下内容感兴趣:

  1. 标题中的原始问题。
  2. 这些准则将如何适用于我的具体案例。
4

4 回答 4

0

你为什么不做这样的事情

<?php

// Your header stuff

switch($_GET['calculator']) {

  case 'simplifying_radicals':
    require_once 'simplifying_radicals.php';
    break;

  ...etc

}

// Your footer stuff

?>

这样,在您的计算器之间共享的所有代码都只需要写入页眉和页脚区域,并且计算器文件将只包含特定于它们的内容。

于 2012-09-09T18:37:27.683 回答
0

我们曾经使用像@Eric's answer这样的switch语句,但现在使用一个类:

// foo.php
class FooController extends PageController
{
  public function someAction()
  {
  }

  public function someOtherAction()
  {
  }
}

new FooController()->run();

如果你去/foo/some它将执行someAction(),广告/foo/some-other执行someOtherAction()

许多杂乱的代码(例如创建导航/页脚 HTML,以及决定运行哪个“动作”)发生在父 PageController 类中)。

决定每节课什么时候放多少页是个人品味和组织的问题。在拥有大量几乎没有代码的文件与拥有大量代码的大量文件之间找到适当的平衡点,您找不到任何东西。

于 2012-09-09T19:44:15.407 回答
0

简单来说,如果您在每个不同的页面中有大量代码,那么请将它们分开。顺便说一句,您使它们更易于阅读、扩展、维护和调试。

如果每页只有几行,请将它们合并到一个文件中。现在这是保持它们可读性等的更好方法。

如果您在每个页面上都有高负载,或者您有很多进程,或者例如您的 MySQL 表包含数十万条记录,那么您可能会出于性能问题再次拆分它们。

于 2012-09-09T19:05:51.290 回答
0

使用单独文件的原因之一是避免代码重复。
另一个原因是,当功能分离在不同的文件中并正确包含在主项目中时,该软件更易于维护和扩展。简单地使用“包含”在主 php 文件中引入一个文件是不行的,但是使用其他页面可以用来连接主 php 文件的不同部分的过滤器是一个很大的优势(例如,您可以检查 wordpress过滤器)

在您的情况下:
您有一个页面,其中包含用户可以选择的所有计算器,但是如果您想将最简单的计算器放在侧边栏中怎么办,如果您将计算器放在不同的文件中,您只需包含它侧边栏中的一个(它还取决于您如何插入侧边栏)

于 2013-08-23T07:00:23.610 回答