我在学习网站结构应该是多少时遇到问题。我的意思是如何对页面进行编码以及如何构建文件夹结构。
目前,当你想要转到另一个页面时,我正在使用PHP中的GET变量浏览我的网站,所以我总是加载index.php文件。我会加载我想要的页面:
$page = "error";
if(isset($_GET["page"]) AND file_exists("pages/".$_GET["page"].".php")) {
$page = $_GET["page"];
} elseif(!isset($_GET["page"])) {
$page = "home";
}
而且:
<div id="page">
<?php
include("pages/".$page.".php");
?>
</div>
我这样做的原因是因为我不需要在每个文件中链接样式表和javascript,因为它使得新页面变得更容易:
<head>
<title>
Website Name
</title>
<link href='http://fonts.googleapis.com/css?family=Lato:300,400' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/style.css" type="text/css">
<link rel="shortcut icon" href="favicon.png"/>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js" type="text/javascript"></script>
</head>
如果我尝试从内部文件夹中访问某个页面,那么这样做有很多问题,因为网址看起来不正常(&#34;?page = apanel / app&#34;)页面文件夹,以防止混乱。
显然,这不是解决问题的唯一方法,我无法找到合适的方法,因为我确定网站不会在每个文件中链接样式表,因为如果您更改了文件名或需要添加另一个文件,则必须在每个文件中更改它。
如果有人能告诉我它是如何实际完成的,或者指向一个很棒的教程。
感谢您的时间:)
答案 0 :(得分:1)
我认为这是一个很好的起点,你可以看看像Zend / CodeIgnitor / CakePHP / Symphony等MVC(模型/视图/控制器)如何处理视图和模板(我真的没有多少有这些经验所以我不能说他们是怎么做的。)
关于网址,您可以使用Apache的RewriteRule
进行清理,这样您就可以将www.yoursite.com/abc
重定向到www.yoursite.com/index.php?page=abc
,以及您可以使用的文件夹示例将网址www.yoursite.com/somefolder/somepage
重定向到www.yoursite.com/index.php?page=somefolder/somepage
或www.yoursite.com/index.php?page=somepage&folder=somefolder
。
在我工作的地方,我们使用自定义MVC,其中我们有一个全局页眉和页脚文件,包含所有CSS / JS文件链接,以及将在每个页面上的任何HTML,然后我们为各个页面包含单独的文件,而是包括PHP文件,我们包含Smarty文件来模板化我们的HTML。