我已经使用PHP了几年了,但我不认为自己只是一个温和的程序员。
在创建一些网站(从演示网站到一些简单的CMS)时,我采取了两种方法,我将在下面讨论。我的问题很简单:哪一个在定制方面更好(它需要尽可能自定义)和速度(尽可能快地加载)。
首选
文件:header.php,content1.php,content2.php,footer.php
想法:所有内容文件都包含文件开头的标题和结尾的页脚。
第二选择
文件:index.php,content1.php,content2.php
想法:基于GET变量或类似的东西,index.php包含相关的php文件
提前感谢您的回答!
答案 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)
我没有为我的项目使用任何框架。但每个人都建议我使用一个框架。 我维护自己的文件/目录结构
答案 5 :(得分:0)
检查有关网站页面结构的mofe信息。
php网站最重要也是最基本的部分是php网站的页面结构,因为它有助于你想重新设计网站,或者你想编辑一些代码,那么确定你需要知道网站的页面结构。
检查完整详情here