做多个设计的最佳方法是什么?

时间:2013-06-30 02:05:34

标签: php html

此问题可能在此之前曾被问过,但我不知道它是什么以及如何正确命名它。

继承我的目标: 我试图为不同的页面制作多个设计。示例我有一个主页设计,但我的登录页面也有一个单独的设计,成员是页面。我通常使用header.pp和footer.php并在其间放置内容但我不知道如何在这里完成。

我尝试做的事情的例子是http://instagram.com/你看到主页有自己的设计然后当你点击登录它有自己的设计没有主页上的元素我怎么能这样做并离开我的页眉和页脚设计系统。

3 个答案:

答案 0 :(得分:1)

当然,不要使用页眉和页脚临时设置,而是制作新的,或为需要不同设计的任何页面制作新的样式表。

答案 1 :(得分:0)

你应该看一下PHP框架,他们有一个名为layout的概念,从你展示的instagram主页和登录页面的例子中包含两个独立的布局文件。布局文件本质上是页眉和页脚文件的混合,以及占位符变量以注入页面内容。您也可以在不使用框架的情况下在代码上实现这样的模式。但至少你需要实现一个MVC模式才有意义。

答案 2 :(得分:0)

您正在寻找模板。 PHP毕竟是一个网页模板语言,所以它可以很容易地完成。

我刚才写了一篇关于如何自己完成这个的简单教程。

http://gustavsvalander.com/how-to-create-your-own-template-engine-using-php-files/

功能

<?php
// Load a php-file and use it as a template
function template($tpl_file, $vars=array()) {
    $dir='your-app-folder/view/'.$tpl_file.'.php';
    if(file_exists($dir)){
        // Make variables from the array easily accessible in the view
        extract($vars);
        // Start collecting output in a buffer
        ob_start();
        require($dir);
        // Get the contents of the buffer
        $applied_template = ob_get_contents();
        // Flush the buffer
        ob_end_clean();
        return $applied_template;
    }
}

模板

<html>
    <head>
        <title><?php echo $title; ?></title>
    </head>
    <body>
        <p><?php echo $content ?></p>
    </body>
</html>

如何使用

<?php
require "template.php";
$template_vars = array('title'=>'Test', 'content'=>'This is content');
echo template('header');
echo template('template_for_firstpage', $template_vars);
echo template('footer');