我一直在学习PHP的语法并练习它.我来自.NET背景,所以当页眉和页脚出现时,masterpages总是让我很容易.
到目前为止,我有一个mainHeader.php和mainFooter.php,它有我的头菜单和我的页脚html.我创建了一个mainBody.php,并在顶部放置
<?php include "mainHeader.php" ?>
Run Code Online (Sandbox Code Playgroud)
而对于我放的页脚
<?php include "mainFooter.php" ?>
Run Code Online (Sandbox Code Playgroud)
这完美地工作,让我微笑,因为我的网页很好地融合在一起.mainHeader有我的<html>和<body>我的mainFooter有我的结束标签.
这是好习惯吗?
Gal*_*len 51
我从我的控制器中包含了我的观点.我还定义了文件位置以使维护更容易.
config.php文件
define('DIR_BASE', dirname( dirname( __FILE__ ) ) . '/');
define('DIR_SYSTEM', DIR_BASE . 'system/');
define('DIR_VIEWS', DIR_SYSTEM . 'views/');
define('DIR_CTLS', DIR_SYSTEM . 'ctls/');
define('DIR_MDLS', DIR_SYSTEM . 'mdls/');
define('VIEW_HEADER', DIR_VIEWS . 'header.php');
define('VIEW_NAVIGATION', DIR_VIEWS . 'navigation.php');
define('VIEW_FOOTER', DIR_VIEWS . 'footer.php');
Run Code Online (Sandbox Code Playgroud)
现在我只需要包含所有我需要的信息config.php.
Controller.php这样
require( '../config.php' );
include( DIR_MDLS . 'model.php' );
$model = new model();
if ( $model->getStuff() ) {
$page_to_load = DIR_VIEWS . 'page.php';
}
else {
$page_to_load = DIR_VIEWS . 'otherpage.php';
}
include( VIEW_HEADER );
include( VIEW_NAVIGATION );
include( DIR_VIEWS . $page_to_load );
include( VIEW_FOOTER );
Run Code Online (Sandbox Code Playgroud)
你也可以反过来做.有一个带页眉/页脚的主页面,只包含正文.
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
<?php include $page ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)