4

据我所见(在 GitHub 中浏览流行的 PHP 代码)有很多人不使用字符串插值

$loader->load($config['resource'].'.xml');

相对:

$loader->load("{$config['resource']}.xml");

不使用字符串插值是否有任何理由(即性能)?

4

4 回答 4

8

不,没有理由不在 PHP 中使用字符串插值。

虽然 PHP 在内部处理字符串插值和连接 的方式存在微小差异,但这些差异非常小,以至于在实践中几乎无法测量,因此应该留给 PHP 处理。

如果或当您看到基准,在 PHP 中使用字符串时,要寻找的东西通常是迭代次数。为了获得可衡量的结果,您需要设置n一些高度夸大的值,这在现实世界中永远不会发生。

总而言之,优化在 PHP 中处理字符串的方式没有多大意义。相反,您应该关注对您的网站性能有显着影响的问题;缓存、数据库内容,尤其是前端

于 2013-04-13T08:14:52.340 回答
2

不使用字符串插值是否有任何理由(即性能)?

绝对不是性能。

唯一的原因是可读性和可用性。即在给定的示例中,第二行有花括号形式的障碍,它们要么无用,要么使代码更难阅读。那为什么要使用它们呢?

然而,如果是

"$somevar.xml"

以这种方式或以连接方式编写它只是一个品味问题

$somevar.".xml"
于 2013-04-13T08:13:10.773 回答
0

大多数情况下,这只是口味问题。我不确定你是否真的观察到了这里的整体偏好,但我已经在评论中写了。

就性能而言:

插值越多,插值就越有效。[参考]

如果就性能而言,就不好说了。这需要具体的代码,然后是该代码的具体性能测量。因为在大多数情况下,您不会注意到差异。

于 2013-04-13T08:37:24.583 回答
-1

不,不是,但有些人认为这是糟糕的代码。但我不同意这种说法。它认为代码看起来更清晰,这是我在 PHP 中非常喜欢的一件事。

目前,我无法找到基准测试,但我能记住结果。结果几乎相等(+/- 0.0001 秒乘以 100 次交互)。

于 2013-04-13T08:18:30.367 回答