1
我正在從PHP中的硬編碼HTML移開。我已經在基本的Twig模板上取得了一些成功,但我正在努力使用PHP對象。我儘可能地簡化了事情,並且仍然有顯示PHP Object參數的問題。希望我只是犯了一個愚蠢的錯誤,但我在這上面花了很多時間。如果我刪除我的對象並使用數據填充數組,它工作正常。使用Twig來顯示PHP對象參數
我樹枝文檔這讓我覺得它應該工作在閱讀這樣的:如果
•檢查foo是一個數組和酒吧,一個有效的元素;
•如果不是,並且如果foo是對象,請檢查該欄是否爲有效的屬性;
PHP:
<?php
require_once ('../vendor/twig/twig/lib/Twig/Autoloader.php');
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem($_SERVER["DOCUMENT_ROOT"].'test/templates/');$twig = new Twig_Environment($loader, array(
'cache' => './tmp/cache',
));
$template = $twig->loadTemplate('test.phtml');
$obj = new Person();
$obj->fName = 'firstName';
$obj->lName = 'lastName';
$template->display(array($obj));
class Person{
public $fName;
public $lName;
}
?>
模板
<html>
<head><title>Twig template!</title></head>
<body>
Person
<ul>
{% for person in obj %}
<li>{{ person.fName }} {{ person.lName }}</li>
{% endfor %}
</ul>
</body>
</html>
如果我做的var_dump我可以看到我的對象和參數設置。如果我手動回顯參數使用
echo $obj->fName;
它返回預期值。該模板正確顯示在瀏覽器窗口中,但樹枝部分爲空白。
導致瀏覽器HTML:
<html>
<head><title>Twig template!</title></head>
<body>
Persons
<ul>
</ul>
</body>
</html>
任何幫助表示讚賞。
這工作!能夠 – vanamp