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