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();

  • 相关阅读:
    ExecutorService 和 NSOperationQueue
    Android 中的AsyncTask
    正则表达式里"-"中划线的使用注意
    Android studio 程序升级和sdk manager 升级方法
    推荐一篇java抽象类和接口区别的文章
    Android measure和layout的一点理解
    Android 屏幕旋转
    Android 中的openurl
    UML 序列图一点理解
    Android Studio中的Module,Facet
  • 原文地址:https://www.cnblogs.com/scrit/p/3751371.html
Copyright © 2011-2022 走看看