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

Vic*_*aei 0 php structure

我已经使用PHP已有两年了,但我认为自己不过是一名中级程序员。

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

第一选择

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

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


第二选择

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

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


预先感谢您的回答!

Mar*_*ean 6

我有一个漂亮的框架,对于大型网站来说,它同样适用于小型网站。在所有实例中,该结构几乎相同,并且我的目录结构如下所示:

.htaccess
inc/
tpl/
    css/
    images/
    js/
index.php
Run Code Online (Sandbox Code Playgroud)

的工作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;
}
Run Code Online (Sandbox Code Playgroud)

加上以下.htaccess规则:

RewriteEngine on

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

希望这是有道理的。如果没有,请让我知道,否则,我将乐于进一步解释。