0
我有以下功能:PHP未定义的变量里面包括
function get_include_contents($filename, $params = array()) {
if (is_file($filename)) {
ob_start();
extract($params);
include $filename;
$contents = ob_get_contents();
ob_end_clean();
print_r(get_defined_vars());
return $contents;
}
return false;
}
在$filename
我获得通过的路径layout.php
看起来像这样:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?= $title; ?></title>
</head>
<body>
<div id="todos"></div>
<input id="todo" type="text" />
<input type="button" id="addTodo" value="Add Todo" />
</body>
</html>
,你可以看到我想以回显变量$title
,我将其作为一个数组传递给get_include_contents
第二个参数($params
),然后我将其抽取出来。问题是我得到undefined variable $title
。顺便说里面get_include_contents
的print_r
这样说:
Array
(
[filename] => /home/lchost/EOSS2/app/view/layout.php
[params] => Array
(
[title] => Hello World
)
[title] => Hello World
[contents] => <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<div id="todos"></div>
<input id="todo" type="text" />
<input type="button" id="addTodo" value="Add Todo" />
</body>
</html>
)
$title
... 可能是什么问题呢?有任何想法吗?先谢谢你。
好的,我已经解决了这个问题..这个问题是绝对的其他地方......这工作正常。管理员,你可以关闭这个问题。谢谢。
我正在创建自己的框架而不使用任何可用的模板引擎。在github上查看EOSS2。 – durisvk
我明白,我建议你不要这样做,因为你显然没有深厚的PHP知识,这是什么框架.. – Johnny