首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个简单网站的PHP文件结构?

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

Stack Overflow用户
提问于 2010-07-12 11:58:05
回答 6查看 32.5K关注 0票数 2

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

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

首选

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

idea:所有内容文件都包括文件开头的页眉和末尾的页脚。

第二选择

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

idea:基于GET变量或类似的内容,index.php包含相关的php文件

提前谢谢你的回答!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-07-12 12:08:10

我会选第二个。这是许多框架采取的方法,也是一个非常好的方法。您有一个总是调用get的位置,所以您可以在其中执行一些处理,比如清除URL、检查有效的会话、.

此外,您可以在index.php中存储一些基本选项(因为这是一个小站点--我认为这样做是个小问题,但是对于更大的项目,精子配置文件是更好的方式-- IMO),所有从index.php文件中调用(包括)的页面都可以访问这些选项。

速度不应该是一个小网站的问题,所以无论你选择什么样的解决方案,最终都会有很好的效果。

票数 3
EN

Stack Overflow用户

发布于 2010-07-12 12:08:10

我有一个精巧的框架,它对小型网站和大型网站同样有效。在所有情况下,结构基本相同,我的目录结构如下所示:

代码语言:javascript
复制
.htaccess
inc/
tpl/
    css/
    images/
    js/
index.php

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

代码语言:javascript
复制
<?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规则相结合:

代码语言:javascript
复制
RewriteEngine on

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

希望这是合理的。如果没有,让我知道什么不是,我很乐意进一步解释。

票数 8
EN

Stack Overflow用户

发布于 2010-07-12 12:03:15

如果网站真的很简单,不需要任何额外的实用工具,我会选择第二选择。大多数HTML并不是那么复杂,它必须被分割成几个文件,实际的表示魔术应该放在CSS文件中。有了第二种选择,你就可以在一个地方拥有一个简单的网站,如果你想要编辑一些东西,就不必在几个文件中四处看看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3228268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档