一个简单网站的PHP文件结构?

时间:2010-07-12 11:58:06

标签: php structure

我已经使用PHP了几年了,但我不认为自己只是一个温和的程序员。

在创建一些网站(从演示网站到一些简单的CMS)时,我采取了两种方法,我将在下面讨论。我的问题很简单:哪一个在定制方面更好(它需要尽可能自定义)和速度(尽可能快地加载)。

首选

文件:header.php,content1.php,content2.php,footer.php

想法:所有内容文件都包含文件开头的标题和结尾的页脚。


第二选择

文件:index.php,content1.php,content2.php

想法:基于GET变量或类似的东西,index.php包含相关的php文件


提前感谢您的回答!

6 个答案:

答案 0 :(得分:6)

我有一个漂亮的框架,适用于小型网站,因为它很大。在所有实例中结构几乎相同,我的目录结构如下所示:

.htaccess
inc/
tpl/
    css/
    images/
    js/
index.php

index.php的工作是确定要加载的文件,任何编程逻辑保存在inc目录中的文件中,模板是tpl目录中的帮助。例如,index.php可能就像这样简单:

<?php
switch ($_GET['filename']) {
    case 'news':
        require('inc/news.php');      // your news functions
        include('tpl/news.tpl.php');  // your news template
    break;
    case 'events':
        require('inc/events.php');
        include('tpl/events.tpl.php');
    break;
    case 'contact':
        require('inc/contact.php');
        include('tpl/contact.tpl.php');
    break;
    default:
        if ($_GET['filename'] == '') {
            include('tpl/home.tpl.php');
        }
        else {
            header('HTTP/1.0 404 Not Found');
            include('tpl/page_not_found.tpl.php');
        }
    break;
}

加上以下.htaccess规则:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+) index.php?filename=$1

希望这是有道理的。如果没有,请告诉我什么不能,我将很乐意进一步解释。

答案 1 :(得分:3)

我会选择第二个。这是许多框架采用的方法,也是非常好的框架。你有一个总是被调用的地方,所以你可以在那里做一些处理,比如清理URL,检查有效的Session,......

此外,你可以在index.php中存储一些基本选项(因为它是一个小网站我看到这样做的问题,但是有更大的项目,可以访问更好的IMO配置文件)从index.php文件中调用(包含)的所有页面。

速度不应该是小型网站的问题,因此您最终可能选择的解决方案将会产生良好的效果。

答案 2 :(得分:0)

如果网站真的很简单并且不需要任何额外的实用程序,我会选择第二种方式。大多数情况下,HTML并不是那么复杂,它必须被分成几个文件,无论如何,实际的演示魔法应该放在CSS文件中...... 通过第二种选择,您可以在一个地方使用简单的网站,如果您想编辑某些内容,则无需在几个文件中查看。

答案 3 :(得分:0)

Victorelu - 不是你问题的答案。但是你可能会被建议开始研究一些重量较轻的MVC php框架(我不是在谈论CI,kohana,蛋糕等,更多的是非常轻量级的,如咖啡因)。我使用咖啡因(基于几个核心文件的轻量级MVC框架)做了一个小概念证明,它巧妙地解决了你所说的要求:

'...自定义'。

吉姆

[edit] - 咖啡因链接:http://code.google.com/p/caffeine-php/ 这是一个非常小的pdf,它贯穿整个过程:http://code.google.com/p/caffeine-php/downloads/list

答案 4 :(得分:0)

我没有为我的项目使用任何框架。但每个人都建议我使用一个框架。 我维护自己的文件/目录结构

INSIDE ROOT DIR

  • /备份
  • /配置
  • /文库
  • /媒体
  • /模型
  • /模块
  • /模板
  • / sql files
  • 的index.php

答案 5 :(得分:0)

检查有关网站页面结构的mofe信息。

php网站最重要也是最基本的部分是php网站的页面结构,因为它有助于你想重新设计网站,或者你想编辑一些代码,那么确定你需要知道网站的页面结构。

检查完整详情here