我必须通过添加另一个字段"位置"来修改下面的 PHPTAL 模板
<tal:block tal:repeat="contact Model/contactList">
<div class="contactCell">
Name: <span content="contact/name">contact name</span><br/>
Number: <span content="contacy/number">2374687234</span><br/>
<-- THIS NEEDS ADDING-->
Location: <span content="contact/location">contact's location</span>
</div>
</tal:block>
我的问题是我不知道模型中有哪些方法和属性可用,我也不想阅读 PHP 代码来跟踪这一点。我希望能够从模板中转储模型的所有属性,以便轻松查看我需要的属性是否已经可用,或者我是否必须要求后端开发人员使其可用。这样的事情会很好。
<div class="debug panel">
<tal:dumpObject Model/contactList>
</div>
然后在我的 HTML 输出中产生类似这样的东西:
<div class="debug panel">
contact Array
[
{
[name] => John Smith
[number] => 374862378
[address] => 22 Acacia Avenue
[location] => London
},{
[name] => Billy Bragg
[number] => 384567365
[address] => 10 Downing Street
[location] => London
},
...
]
</div>
这样,我将能够立即看到我可以使用的内容以及我需要从其他开发人员那里请求的内容。
你可以走得很远:
<pre tal:content="php:print_r(object, true)"/>
如果对象是纯数组或stdClass
对象。
但是,PHPTAL 也可以读取对象的方法并调用魔术__get()
方法,因此如果对象来自某个花哨的 ORM,则可能无法列出所有可用的属性。
你也可以在PHPTAL中使用var_dump:
<pre tal:content="php:var_dump(object)"/>