3

我必须通过添加另一个字段“位置”来修改下面的 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>

这样我就可以立即看到我可以使用什么以及我需要向其他开发人员请求什么。

4

2 回答 2

3

您可以通过以下方式走得很远:

<pre tal:content="php:print_r(object, true)"/>

如果对象是普通数组或stdClass对象。

但是,PHPTAL 也可以读取对象的方法并调用魔术__get()方法,因此如果对象来自一些花哨的 ORM,则可能无法列出所有可行的属性。

于 2012-10-12T22:30:45.623 回答
0

您也可以在 PHPTAL 中使用 var_dump:

<pre tal:content="php:var_dump(object)"/>
于 2017-11-30T14:47:23.620 回答