这里是PHP新手,很抱歉给您带来困扰。
我想问一些事情,如果我想包含一个 php 页面,我可以使用参数来定义我将要调用的页面吗?
假设我必须在模板页面中包含标题部分。每个页面都有不同的标题,将表示为图像。所以,
<?php @include('title.php',<image title>); ?>
我可以在我的 template.php中调用一些东西吗?
所以包含将返回带有特定图像的标题页来表示标题。
感谢你们。
这里是PHP新手,很抱歉给您带来困扰。
我想问一些事情,如果我想包含一个 php 页面,我可以使用参数来定义我将要调用的页面吗?
假设我必须在模板页面中包含标题部分。每个页面都有不同的标题,将表示为图像。所以,
<?php @include('title.php',<image title>); ?>
我可以在我的 template.php中调用一些东西吗?
所以包含将返回带有特定图像的标题页来表示标题。
感谢你们。
包含的页面将看到当前范围的所有变量。
$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
}
不确定这是否是您要查找的内容,但您可以创建一个函数来包含该文件并传递一个变量。
function includeFile($file, $param) {
echo $param;
include_once($file);
}
includeFile('title.php', "title");
包含的页面将已经可以访问在包含之前定义的那些变量。如果您需要包含特定变量,我建议在要包含的页面上定义这些变量
在您包含的文件中,您可以这样做:
<?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'
));