将各种PHP文件组合/包含在一个PHP文件中

时间:2010-12-24 12:09:51

标签: php file include

Hello Friends我是一名新手程序员,非常非常新的PHP。我正在寻求帮助写一个小的PHP函数。情况是这样的:

我正在运行Joomla,我有一个模板,例如BLOCKS:

header.php
topmodules.php
mainbody.php
bottommodules.php
footer.php

我的所有块都放在一个目录中(/ layouts / blocks)。所有这些块都需要在主Index.php文件中加入。

我所知道的功能是这样的:

<?php
function get_header(){
  require_once(TEMPLATEPATH.'/layouts/blocks/header.php');
}
?>

然后称之为:

<?php get_header(); ?>

但这不是很专业,我也必须为每个文件编写一个函数而且这也可以通过使用

来完成
<?php require(YOURBASEPATH . DS .'layouts'. DS .'blocks'. DS . "header.php"); ?>

但我要找的是有一个函数/类可以从该目录中获取该PHP文件,只需传递该文件的名称,以便将来可以添加更多的块到该目录 - 编写函数并简单地称它们为:

<?php $this->getBlock('header') ?>
<?php $this->getBlock('topmodules') ?>
<?php $this->getBlock('mainbody') ?>
<?php $this->getBlock('bottommodules') ?>
<?php $this->getBlock('footer') ?>

请帮助。

2 个答案:

答案 0 :(得分:1)

您只需要为您拥有的功能添加一个参数:

function getBlock($filename){
  require_once(YOURBASEPATH . DS . 'layouts' .DS . 'blocks'. DS . $filename .'.php');
}

答案 1 :(得分:1)

function get_header_improved($s){
  require_once(TEMPLATEPATH.'/layouts/blocks/' . $s . '.php');
}

<?php get_header_improved('header') ?>
<?php get_header_improved('topmodules') ?>
<?php get_header_improved('mainbody') ?>
<?php get_header_improved('bottommodules') ?>
<?php get_header_improved('footer') ?>

我没试过,但这应该有用。