这里有PHP的新手,很抱歉让你烦恼。
我想问一些问题,如果我想要包含一个php页面,我可以使用参数来定义我要调用的页面吗?
假设我必须在模板页面中添加标题部分。每个页面都有不同的标题,将表示为图像。所以,
我可以在template.php中调用<?php @include('title.php',<image title>); ?>
吗?
因此include将返回带有特定图像的标题页以表示标题。
谢谢你们。答案 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)
包含的页面已经可以访问包含之前定义的那些变量。如果您需要包含特定变量,我建议在要包含的页面上定义这些变量