直接嵌入html快吧。echo需要php解释器去解释成html

解决方案 »

  1.   

    谢谢onlyguhong(会唱歌的小黄鹂),想再请教一下:
    当WEB服务器接到对php文件的请求时,不是将整个php文件交给php解释器处理吗?如果是的话,那效率应该差不多吧。
      

  2.   

    2好,我的理由:1,直观,常用.2,服务器只解析<??>内的部分
      

  3.   

    尽量减少<?php ?> 片段的html页面,应该效率更高.这个在PHP.NET上早有定论.
    但是这里谈的是有点出入的. 我个人建议.还是让APACHE或IIS去处理HTML多一些吧. 这样无论从以后的设计和美化都容易些.
    如果楼主有时间,多去看看摸版.也许会避免以后这样的问题出现.
      

  4.   

    在输出缓存关闭的情况下,速度与echo的个数成反比
    否则,两者一样“echo需要php解释器去解释成html”
    这种说法是错误的,php对单引号中的内容并不做任何解释,对双引号中的内容也只处理变量嵌入的html代码被php解释器转换成
    echo <<< EOT
    嵌入的html内容
    EOT;
    这样的形式与php代码一起执行这是一种php的内部格式,所以在手册中没有他的用法说明
      

  5.   

    严重同意xuzuning(唠叨)的意见,我也不同意“echo需要php解释器去解释成html”这个说法的,我认为只要是php类型的文件,web服务器会将整个文件交给php解释器处理,不管html部分,还是<?php ?>部分,都需要php解释器来处理,如果是有很多的html和php交叉嵌入的话,php需要不断切换,会影响效率,我的结论是:少嵌入html,少用echo更快!
      

  6.   

    哈,长见识了。问一下唠叨,php解释器是解释整个php文件,还是只解释<?php ?>以内的代码?
      

  7.   

    手册上的原话:但是对输出大块的文本而言,脱离 PHP 解析模式通常比将所有内容用 echo() 或者 print() 输出更有效率。假如手册上的是可信的,那echo输出的内容就需要有额外负担。不过经常有人教训我,尽信书不如无书。所以我是来纯顶的。
      

  8.   

    哈,长见识了。问一下唠叨,php解释器是解释整个php文件,还是只解释<?php ?>以内的代码?
    ----------------------当然是解释整个php文件,不解释你怎么知道哪里是<?php ?>以内的代码?html分离的解释负担是最轻的,php只需要检查?>就可以知道是否结束。而用引号需要多检查变量,即使是单引号,也需要多检查一个\'这样的特殊情况。有差别,但差别是很小的。不然手册上为什么要提大块的文本。
      

  9.   

    看来关于“php解释器是解释整个php文件,还是只解释<?php ?>以内的代码?”这个问题有准确结论了:解释整个php文件。手册上的原话:但是对输出大块的文本而言,脱离 PHP 解析模式通常比将所有内容用 echo() 或者 print() 输出更有效率。但是多大文本用html,多大用echo,看来还是不能量化,不过我用一个大php文件测试了一下,没有交叉嵌入,几乎相当,如果有交叉嵌入的话,echo明显快于html。不知道发社区首页,需要什么条件,我看首页没有一个php的贴子,希望路过的顶一下。
      

  10.   

    o,既然没什么差别,我决定10行以内的html都用echo或者printf :)
      

  11.   

    对输出大块的文本而言,脱离 PHP 解析模式通常比将所有内容用 echo() 或者 print() 输出更有效率。