【问题标题】:What is the best way to set up a simple website? [closed]建立一个简单网站的最佳方法是什么? [关闭]
【发布时间】:2011-03-11 08:36:21
【问题描述】:

我已经制作网站多年了。它们中的大多数往往不到 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 是否会是更好的解决方案。

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

【问题讨论】:

    标签: php html frameworks header footer


    【解决方案1】:

    我脑子里只有几件事:

    • 是的,为active 类坚持使用PHP。有些人禁用了 JavaScript。
    • 您可能希望使用 URL 重写来去除 URL 的丑化。 (例如,URL 栏中的http://www.example.com/about 在服务器上被重写为http://www.example.com/index.php?z=about
    • 如果网站变得更大,您可能希望使用数据库而不是文件夹中的文件。
    • 我会将header.phpfooter.php 放在文档根目录之外,或者放在一个不允许访问它并出现403 Forbidden 错误的包含文件夹中。

    【讨论】:

    • 我记得曾经在 htaccess 文件中使用 mod_rewrite 来重写 URL。谢谢你提醒我。您将页眉和页脚文件粘贴在 /inc 文件夹中的建议听起来不错。我通常将这些文件留在根目录中,因为我似乎总是遇到路径问题。我会看看我能不能做到,这样我就不会再遇到这个问题了。
    • 数据库连接文件也应该放在文档根目录之外
    【解决方案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),“漂亮的 url”很简单。

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

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

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

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

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

    这种方式让事情变得干净和简单。

    【讨论】:

    • 我有机会得到那个 zip 的副本吗?
    • 我已经更新了链接。
    【解决方案3】:

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

    【讨论】:

    • 有趣的是,我想避免使用 PHP 来处理我的页眉、内容、页脚的情况,所以我在 jQuery 中开发了一种方法来处理不同的内容页面。你可以在这里看到它:stackoverflow.com/questions/3155828/… 但是一个朋友告诉我你在不依赖 javascript 做像页面导航这样重要的事情时所做的同样的事情。
    【解决方案4】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2022-12-31
      • 2010-09-16
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多