我想知道哪一个最适合表现:
1-使用smarty模板(或任何其他更好的)
<?php
$Smarty = new Smarty();
// set all the default variables and other config
$Smarty->assign('var1', 'hello');
$Smarty->assign('var2', 'world');
$Smarty->display('page.html');
2-使用此代码:
<?php
$var1 = 'hello';
$var2 = 'world';
echo "$var1 $var2";
3-使用此代码:
<?php
$var1 = 'hello';
$var2 = 'world';
echo $var1 . " " . $var2;
基于这三个例子,我不能考虑一个新的,一个最好在性能时使用
注意:当然我有比这个例子更多的变量。
感谢
答案 0 :(得分:11)
据我所知,连接PHP变量(如第三个示例中所示)比使用"$var1 $var2"
更快,因为每个令牌都是动态评估(这很糟糕),因此混合了变量和常量字符串。
所以,在2到3之间,我认为它取决于上下文:如果你有一个包含变量和常量混合的长字符串,那么方法3会更快。否则,如果它与你的例子相同,那么2可能更快(然而,差异可以忽略不计,因此应该是一个有争议的点)。
使用模板引擎总是比原始代码慢。
现在如果你没有非常好的理由不使用模板引擎,你应该使用一个。为什么呢?
答案 1 :(得分:2)
仅限表演?在第一个例子中,您正在使用Smarty,这是一个由数千行PHP代码组成的相当重要的库。在接下来的两个中,您使用三行PHP 仅。当然,这两个会更快,开销更少,因为PHP不必首先解析Smarty。
至于字符串连接或变量的变电站,以及哪些引号等更快,这是一种微观优化,不太可能在亚Facebook范围内产生影响。一个或另一个只是节省纳秒。您可以在此页面上阅读实时比较:http://www.phpbench.com/如果有帮助。