包含带参数的PHP文件

时间:2013-01-16 00:09:37

标签: php

这里有PHP的新手,很抱歉让你烦恼。

我想问一些问题,如果我想要包含一个php页面,我可以使用参数来定义我要调用的页面吗?

假设我必须在模板页面中添加标题部分。每个页面都有不同的标题,将表示为图像。所以,

我可以在template.php中调用<?php @include('title.php',<image title>); ?>吗?

因此include将返回带有特定图像的标题页以表示标题。

谢谢你们。

4 个答案:

答案 0 :(得分:4)

包含的页面将显示当前范围的所有变量。

$title = 'image title';
include('title.php');

然后在你的title.php文件中,该变量就在那里。

echo '<h1>'.$title.'</h1>';

建议在使用之前检查变量isset()。像这样。

if(isset($title))
{
    echo '<h1>'.$title.'</h1>';
}
else
{
    // handle an error
}

修改

或者,如果要使用函数调用方法。最好使该函数特定于所包含文件执行的活动。

function do_title($title)
{
     include('title.php');  // note: $title will be a local variable
}

答案 1 :(得分:1)

不确定这是否是您正在寻找的,但您可以创建一个函数来包含该文件并传递变量。

function includeFile($file, $param) {
    echo $param;
    include_once($file);
}

includeFile('title.php', "title");

答案 2 :(得分:0)

在您附带的文件中,您可以这样做:

<?php
return function($title) {
    do_title_things($title);
    do_other_things();
};

function do_title_things($title) {
    // ...
}

function do_other_things() {
    // ...
}

然后,你可以这样传递参数:

$callback = include('myfile.php');
$callback('new title');

另一个更常用的模式是为要传入的变量创建一个新范围:

function include_with_vars($file, $params) {
    extract($params);
    include($file);
}

include_with_vars('myfile.php', array(
    'title' => 'my title'
));

答案 3 :(得分:0)

包含的页面已经可以访问包含之前定义的那些变量。如果您需要包含特定变量,我建议在要包含的页面上定义这些变量