我使用PHP已经有几年了,但我并不认为自己是一个温和的程序员。
虽然创建一些网站(从演示网站到一些简单的CMS‘’es),我已经采取了2种方法,我将在下面讨论。我的问题很简单:哪一个在定制方面更好(它需要尽可能地定制)和速度(以尽可能快的速度加载)。
首选
文件:header.php,content1.php,content2.php,footer.php
idea:所有内容文件都包括文件开头的页眉和末尾的页脚。
第二选择
文件:index.php、content1.php、content2.php
idea:基于GET变量或类似的内容,index.php包含相关的php文件
提前谢谢你的回答!
发布于 2010-07-12 12:08:10
我会选第二个。这是许多框架采取的方法,也是一个非常好的方法。您有一个总是调用get的位置,所以您可以在其中执行一些处理,比如清除URL、检查有效的会话、.
此外,您可以在index.php中存储一些基本选项(因为这是一个小站点--我认为这样做是个小问题,但是对于更大的项目,精子配置文件是更好的方式-- IMO),所有从index.php文件中调用(包括)的页面都可以访问这些选项。
速度不应该是一个小网站的问题,所以无论你选择什么样的解决方案,最终都会有很好的效果。
发布于 2010-07-12 12:08:10
我有一个精巧的框架,它对小型网站和大型网站同样有效。在所有情况下,结构基本相同,我的目录结构如下所示:
.htaccess
inc/
tpl/
css/
images/
js/
index.phpindex.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希望这是合理的。如果没有,让我知道什么不是,我很乐意进一步解释。
发布于 2010-07-12 12:03:15
如果网站真的很简单,不需要任何额外的实用工具,我会选择第二选择。大多数HTML并不是那么复杂,它必须被分割成几个文件,实际的表示魔术应该放在CSS文件中。有了第二种选择,你就可以在一个地方拥有一个简单的网站,如果你想要编辑一些东西,就不必在几个文件中四处看看。
https://stackoverflow.com/questions/3228268
复制相似问题