1

我已经制作网站多年了。它们中的大多数往往不到 10 页,根本不需要任何编程。我想知道是否有经验丰富的人可以推荐建立这些类型网站的标准或最佳方法。让我更详细地解释一下我的意思。

这是我过去制作的一个网站的典型结构。

/css
/images
/js
/html
/html/about.html
header.php
footer.php
index.php

在这种情况下,我的 index.php 包括顶部的 header.php 文件和底部的 footer.php 文件,我使用 PHP 的 switch 函数来处理我想要查看的内容的不同情况。例如,我可能会在 URL 栏中看到 index.php?z=about,而我的 index.php 将在 /html 中查找名为 about.html 的文件

我知道这一切似乎有点愚蠢,因为真的有最好的方法来做这件事吗?

根据页面的不同,我的主要导航项目之一将有一个“活动”类。这项工作是在 PHP 中完成的,但我想知道使用 javascript 是否会是一个更好的解决方案。

我会很感激任何答复,谢谢。

4

4 回答 4

2

我脑子里只有几件事:

  • 是的,在active课堂上坚持使用 PHP。有些人禁用了 JavaScript。
  • 您可能希望使用 URL 重写来去除 URL 的丑化。(例如http://www.example.com/about,在服务器上的 URL 栏中被重写为http://www.example.com/index.php?z=about
  • 如果站点变得更大,您可能希望使用数据库而不是文件夹中的文件。
  • 我将header.phpand放在footer.php文档根目录之外或包含文件夹中,该文件夹不允许使用 403 Forbidden 错误访问它。
于 2010-07-03T03:44:45.883 回答
2

我已将示例站点的 zip 文件上传到http://superuntitled.com/default/default.zip如果您喜欢,请查看。

我喜欢将我所有的 html 内容存储在包含的文件中,并让我的 index.php 文件将这些文件调用到 template.php 文件中......

require_once('common.php');

$view = (isset($_GET['page']) && $_GET['page'] != '') ? $_GET['page'] : '';

switch ($view) {
    case '' :
        $view = 'home';
        $section    = 'templates/template-default.php';
            $pageTitle = "The Homepage";        

        break;

    case 'about' :
        $view = 'about';
        $section = 'templates/template-about.php';  
            $pageTitle = "The About Page";          
    $sidebar = 1;

        break;

    case 'notfound' :
            $section    = "templates/template-not-found.php";   
            $pageTitle  = "404 not found";
        break;
}

require_once 'view/template.php';

模板文件就这么简单:

require_once('header.php');  
if(isset($sidebar))include("view/sidebar.php"); 
echo "<div id='content'>";
    require_once (SERVER_URL.$section);
echo "</div>";
require_once('footer.php');  

这样我可以在 index.php 文件中设置各种变量。“漂亮的网址”很简单,使用 htaccess ( RewriteRule ^([-\A-Za-z0-9\_]*)$ index.php?page=$1)。

common.php 文件包含所有全局变量、会话变量,并包括数据库连接文件和 php 函数文件。

至于活动类,可以在导航部分检查 $view 变量,我使用一个简单的 php 函数:

function curPage($current, $pageTitle) {
  if ($pageTitle==$current) 
  echo " class=\"selected\"";
}

在导航部分,我简单地调用这个函数:

<a href="about" <? curPage('about',"$view"); ?> >About</a>

这种方式使事情保持清洁和简单。

于 2010-07-03T03:59:02.340 回答
0

使用最简单的,但做你需要的。你所描述的似乎很好,如果它对你有用,那就继续吧。是的,使用 PHP 来生成“活动”类——事实上,在 PHP 中尽可能多地做,这样你就不需要依赖 JavaScript。

于 2010-07-03T03:48:02.247 回答
0

为什么不使用简单的模板框架?它们相对容易理解,并且会让您接触到一些久经考验的方法。

您还将获得使用现有资源的经验,而不是自己编写所有代码。

您不需要自己做出初始设计决策,这可以让您更快地启动和运行。(在这样的简单情况下)

例如: http ://www.smarty.net/

选择一个拥有良好文档和活跃的开发者社区的人。

于 2010-07-03T12:11:55.777 回答