网站文件和文件夹结构

时间:2014-06-04 08:07:44

标签: php html css structure directory

我在学习网站结构应该是多少时遇到问题。我的意思是如何对页面进行编码以及如何构建文件夹结构。

目前,当你想要转到另一个页面时,我正在使用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;)页面文件夹,以防止混乱。

显然,这不是解决问题的唯一方法,我无法找到合适的方法,因为我确定网站不会在每个文件中链接样式表,因为如果您更改了文件名或需要添加另一个文件,则必须在每个文件中更改它。

如果有人能告诉我它是如何实际完成的,或者指向一个很棒的教程。

感谢您的时间:)

1 个答案:

答案 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/somepagewww.yoursite.com/index.php?page=somepage&folder=somefolder

在我工作的地方,我们使用自定义MVC,其中我们有一个全局页眉和页脚文件,包含所有CSS / JS文件链接,以及将在每个页面上的任何HTML,然后我们为各个页面包含单独的文件,而是包括PHP文件,我们包含Smarty文件来模板化我们的HTML。