laravel blade 使用 {{ }} 的最佳实践

Best practice in laravel blade use of {{ }}

这两个中哪一个是在 laravel 中使用 blade 的最佳实践:

<p>{{ $person->name }} {{ $person->surname }}</p><p>{{ $person->name . ' ' . $person->surname }}</p>

谢谢!

这通常完全取决于个人喜好,两者都是完全有效的方法,我喜欢将所有内容分开,因为至少对我而言(不是每个人都认为这是 easier/cleaner),它变得如此之多更容易像这样添加额外的标记;

<b>{{ $person->surname }}</b>, <small class='text-muted'>{{ $person->name }}</small>

我总是喜欢用愚蠢的日子来思考它,如果你正在度过那些你无法思考的日子,这对你来说更容易阅读:)

两者都不是一个好的选择,因为万一一个是空的(名字或姓氏)- 你将有一个额外的 space,这没有任何意义。

最佳做法是:

1) 在您的 Person class 上实施类似 getName() 的方法来为您进行连接。例如

public function getName()
{
    return implode(' ', array_filter([$this->name, $this->surname])));
}

在你的模板中它会变成 <p>{{ $person->getName() }}</p>

2) 如果您有更多属性需要在呈现之前进行更改 - 通常的做法是将它们全部提取到演示者 class(这是一种设计模式)。然后你的模板看起来像 <p>{{ $person->presenter()->getName() }}</p>。但如果它只是名字 - 你可能只需要将它保存在 Person class.

中就可以了