zoukankan      html  css  js  c++  java
  • php字符串啊的heredoc格式

    Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。它也出现unix/linux的shell编程里面。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。

    如下:
    <?php 
    $name = '浅水游';
    print <<<EOT

    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>Untitled Document</title> 
    </head> 
    <body> 
    <!--12321--> 
    Hello,$name
    </body> 
    </html>

    EOT;
    ?>

    1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可(出现在注释里面也不行)

    2.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以(会被当作普通字符串)。在heredoc中,变量不需要用连接符.或,来拼接,如下:

    $v=2;
    $a= <<<EOF
    "abc"$v
    "123"
    EOF;
    echo $a; //结果连同双引号一起输出:"abc"2 "123"

    3.heredoc常用在输出包含大量HTML语法的文档的时候。比如:函数outputhtml()要输出HTML的主页。可以有两种写法。很明显第二种写法比较简单和易于阅读。

    第一种写法:

    function outputHtml(){
    echo "<html>";
    echo "<head><title>主页</title></head>"; 
    echo "<body>主页内容</body>";
    echo "</html>;
    }

    第二种写法:

    function outputHtml()
    {
    echo <<<EOT
       <html>
       <head><title>主页</title></head>
       <body>主页内容</body>
       </html>
    EOT;
    }

    outputHtml();

  • 相关阅读:
    [BZOJ1934][Shoi2007]Vote 善意的投票[最小割]
    [BZOJ1066][SCOI2007]蜥蜴[最大流]
    [BZOJ2818][P2568]Gcd[欧拉函数]
    [BZOJ2208][P4306][JSOI2010]连通数[bitset优化floyd]
    [BZOJ1877][SDOI2009]晨跑[最大流+费用流]
    [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
    [BZOJ5347]冒泡排序[思维]
    [BZOJ2875][Noi2012]随机数生成器[等比数列求和+取模]
    [bzoj2809] 派遣
    [bzoj1965] 洗牌
  • 原文地址:https://www.cnblogs.com/scrit/p/3751371.html
Copyright © 2011-2022 走看看