根据编码标准,如何在Twig模板中格式化长行?

时间:2016-07-13 07:52:36

标签: php html symfony coding-style twig

我的模板中有以下代码,我在其中生成带参数的路径:

<a class="btn btn-block btn-abcd" href="{{ path(
    'auth.login',
    {
        'type': constant('User::TYPE_CANDIDATE'),
        'provider': constant('UserProvider::PROVIDER_XING')
    }
) }}">...</a>

我已经把它分成了几行,就像我用PHP代码做的那样。我只是不确定这是否是推荐的做法。 coding standards page on the Twig site未解决此特定问题。

2 个答案:

答案 0 :(得分:1)

一种常用的可读性技术是,只要您觉得需要缩短线条,就可以在开括号/括号/括号中进行。不一定是所有这些,而是​​一个有意义的。

以下是我的建议:

<a class="btn btn-block btn-abcd"
    href="{{ path(
        'auth.login', {
            'type': constant('User::TYPE_CANDIDATE'),
            'provider': constant('UserProvider::PROVIDER_XING')
        }
    ) }}">
    Link text
</a>

单行重新格式化的一个问题是,许多乱七八糟的探测器和短路将嘲笑超过50个字符的行。

答案 1 :(得分:0)

我建议您根据最初建议的常见PHP规则进行拆分 - 只需将{{{%等Twig标记与<?php标记相同。

我在项目中遵循的标准可以在这里找到:https://github.com/cybtachyon/twig-standards

我重新格式化Alec的答案,以遵循上述更多Twig标准。

<a class="btn btn-block btn-abcd" href="{{
  path(
    'auth.login',
    {
      'type': constant('User::TYPE_CANDIDATE'),
      'provider': constant('UserProvider::PROVIDER_XING'),
    }
  )
  }}">
    Link text
</a>