如何在树枝中处理数组中的缺失值

时间:2014-02-01 15:00:55

标签: php symfony twig

我请求的某些值可能会或可能不会返回一个值,因为api需要某人的个人资料,并且他们在注册等时遗漏了字段。

如果我要求我的树枝模板中没有的东西,我会收到错误

 throw new Twig_Error_Runtime(sprintf('Key "%s" in object (with ArrayAccess) of type   "%s"     does not exist', $arrayItem, get_class($object)), -1, $this->getTemplateName());

我可以通过在每个值上执行此代码来解决这个问题但是它很麻烦并且不聪明是否有一种方法可以避免错误,就像在其他php框架中一样,它只会留下空白

  {% if profile.aboutMe %}

  {{ profile.aboutMe }} 

控制器

     return   $this->render('LoginLogBundle:Default:userprofile.html.twig',array('profile'=>$user))); 

1 个答案:

答案 0 :(得分:3)

您可以使用default()过滤器在未定义对象或值时显示某些文本:

{{ profile.aboutMe|default('No profile') }}
{# or #}
{{ profile.aboutMe|default('-') }}
{# or #}
{{ profile.aboutMe|default('') }}
{# etc. #}