我想在與需要它運行的文件相同的文件上運行模板引擎,因此我使用了模板引擎,它使{username}變成了HTML中的PHP變量與處理它的所有內容在同一頁面上。但是,如果我嘗試這樣做,我得到一個類已被稱爲錯誤,我已經嘗試修復這個錯誤,但這是我得到的最接近,有無論如何修復這個錯誤?這裏是我的代碼:檢查PHP類是否已被調用
<?php
//error_reporting(0);
if(in_array('NewTemplateHandler', get_declared_classes()))
{
$template = new NewTemplateHandler("test4.php");
$template->output();
//echo "Template has not been called";
}else
{
echo "Else called";
}
class NewTemplateHandler
{
protected $file;
protected $values = array();
public function __construct($file)
{
//$_GLOBALS["ran"] = true;
$this->file = $file;
$this->__set("test", "Template Working");
echo "Template Class Called.";
}
public function __set($key, $value)
{
$this->values[$key] = $value;
echo "$key set as $value<br />";
}
public function output()
{
if(!file_exists($this->file))
{
echo "ERROR: Template file not found.";
}
$output = file_get_contents($this->file);
foreach($this->values as $key => $value)
{
$find = "{".$key."}";
$output = str_replace($find, $value, $output);
}
//$_GLOBALS["ran"] = true;
return eval("?>".$output);
}
}
?>
<br />
Thing-> {test}
'if(in_array('CLASS NAME',get_declared_classes())){.....'是你想要的。 – Darren 2014-10-08 04:10:29
@Darren非常感謝你,它完美的工作,我不得不添加一個error_reporting(0);擺脫另一個班級被稱爲錯誤,但它做我需要做的事情。請將其寫爲答案,以便我可以接受。 – M4TRIX 2014-10-08 04:17:23
@Darren唯一的問題是,我不得不把它放在頁面的頂部,並且它正在無限重複。 – M4TRIX 2014-10-08 04:38:28