• php中的EOF、EOT是什么意思, EOF、EOT 简单介绍


    Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用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;
    ?>
    
    

    另一个经过测试的例子

    <?php
    $out = 
    <<<EOF
        <a href="javascript:edit('asd', 'aaa')">编辑</a> |
    
        <font color="#ccc">删除</font>
    
        <a href="javascript:confirmurl('?m=admin&posid=12')">删除</a> |
    
        <font color="red">启用</font></a> |  
    
        <a href="javascript:preview('3','ds')"><font color="green">演示</font></a>
    EOF;
    
    echo $out;
    ?>
    

    注意:

    1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

    2.开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。

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

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

    4.heredoc常用在输出包含大量HTML语法d文档的时候。比如:函数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();
    
  • 相关阅读:
    洛谷#P5652#基础博弈练习题
    hgoi#20191112
    hgoi#20191111
    hgoi#20191109
    洛谷#P3674#小清新人渣的本愿
    hgoi#20191108
    hgoi#20191107
    树上差分
    树链剖分(树剖)
    LCA(最近公共祖先)问题
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/13838052.html
Copyright © 2020-2023  润新知