0

这里是PHP新手,很抱歉给您带来困扰。

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

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

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

所以包含将返回带有特定图像的标题页来表示标题。

感谢你们。

4

4 回答 4

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
}
于 2013-01-16T00:13:09.143 回答
1

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

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

includeFile('title.php', "title");
于 2013-01-16T00:12:44.570 回答
0

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

于 2013-01-16T00:20:40.080 回答
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'
));
于 2013-01-16T00:13:42.240 回答