调用变量VS直接值之间的PHP性能

时间:2017-12-15 04:15:05

标签: php mamp

我有一个PHP脚本如下: 我可以用第一种方式写出来:

echo"
<table class='fom'><tr class='xbo'><td class='ftd'>Name</td><td><input size='30' maxlength='30'></td></tr></table>" 
<table class='fom'><tr class='xbo'><td class='ftd'>Company</td><td><input size='30' maxlength='30'></td></tr></table>"  
<table class='fom'><tr class='xbo'><td class='ftd'>Contact</td><td><input size='30' maxlength='12'></td></tr></table>";

我也可以用第二种方式写出来:

$tb = "<table class='fom'><tr class='xbo'><td class='ftd'>";
$tZ = "</td></tr></table>";
echo"
 $tb."Name</td><td><input size='30' maxlength='30'>".$tz."" 
.$tb."Company</td><td><input size='30' maxlength='30'>".$tz.""  
.$tb."Contact</td><td><input size='30' maxlength='12'>".$tz."";

我更喜欢第二种方法,因为它看起来更整洁,不会挤压我的屏幕。问题是:

1)第二种方法是否会减慢PHP解析器的速度,我的意思是如果对这个sript的请求非常高......比如说milions / s。

2)有什么方法可以检查我的MAMP上解析此脚本的速度性能吗?

需要一些专家意见。

2 个答案:

答案 0 :(得分:1)

选项3 - 不要在HTML中使用单引号,只是打破PHP来执行HTML。如果需要插入变量,请执行此操作。您也不应该使用<tables>进行页面布局,而是使用带有CSS的<divs>

这样可以更容易阅读,然后将一堆HTML与PHP变量连接为字符串,还可以维护HTML格式,并且它不会影响性能,您可能会注意到它。

?>
<div class="fom">
    <div class="xbo">
        <label class="ftd">Name</label>
        <input size="30" maxlength="30" name="name" value="<?= (!empty($_POST['name']) ? htmlentities($_POST['name']) : '') ?>">
    </div>
</div>
<div class="fom">
    <div class="xbo">
        <label class="ftd">Company</label>
        <input size="30" maxlength="30" name="company" value="<?= (!empty($_POST['company']) ? htmlentities($_POST['company']) : '') ?>">
    </div>
</div> 
<div class="fom">
    <div class="xbo">
        <label class="ftd">Contact</label>
        <input size="30" maxlength="12" name="contact" value="<?= (!empty($_POST['contact']) ? htmlentities($_POST['contact']) : '') ?>">
    </div>
</div>
<?php

您甚至可以使用视图进一步抽象出HTML和PHP逻辑。

您将拥有一个简单的函数来加载您传递PHP变量的HTML,然后返回渲染的版本以存储到变量(部分)或回显。

function view($view = '', $data = array()) {

    if (file_exists($view) === false) {
        return 'Partial view not Found';
    }

    if (!empty($data)) {
        extract($data);
    }

    ob_start();
    require($view);
    return ob_get_clean();
}

然后您可以像:

一样使用它
echo view('./views/homepage.php', ['result' => $result]);

答案 1 :(得分:0)

您可以这样格式化。

{
def r='FUND'
def proc= ['cmd', '/c','mkdir','$r']
Process process=proc.execute(null, new File('D:\app'));

process.waitForOrKill( 2000 )
println "Std Err: ${process.err.text}"
println "Std Out: ${process.in.text}" }

使用单引号$td_class = 'class="ftd"'; echo '<table class="fom"><tr class="xbo"><td class="ftd">'; echo '<tr> <td ' . $td_class .'>Name</td> <td><input size="30" maxlength="30"></td> </tr>'; echo '<tr> <td ' . $td_class . '>Company</td> <td><input size="30" maxlength="30"></td> </tr>'; echo '<tr> <td ' . $td_class . '>Contact</td> <td><input size="1" maxlength="12"></td> </tr>'; echo '</table>'; What is the difference between single-quoted and double-quoted strings in PHP? 而不是使用双引号"。 您还可以阅读Speed difference in using inline strings vs concatenation in php5?