• 技术文章 >后端开发 >php教程

    php中heredoc与nowdoc介绍_php技巧

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

    1.以<<

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

    复制代码 代码如下:

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

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

    复制代码 代码如下:

    function outputhtml(){
    echo "";
    echo "主页
    ";
    echo "主页内容";
    echo ";
    }
    function outputhtml()
    {
    echo <<
    主页

    主页内容

    EOT;
    }
    outputhtml();

    在heredoc中会自动替换其中的$变量,将命令和输入放在一块,方便

    附:heredoc和nowdoc的区别

    heredoc使用 <<< EOT 的标示符,而nowdoc使用 <<< 'EOT' 这样的标示符,其中nowdoc是PHP5.3引进的新技术,它包含了heredoc的语法,只是其中的内容绝对不会进行任何的转义和解释,是什么内容就是什么内容,不会解析PHP相关的内容
    heredoc中的PHP变量建议使用{$name->change()} 大括号括起来,这样可以避免一定的歧义,如果要原样输出可以使用传说中的转义字符 \ ,转义字符本身可以使用转义字符进行输出,即 \ 这种表示方法,大括号之类的这些都需要转义输出。
    为了保证的确可用,建议使用 heredoc 的语法,本身也带有转义,因为PHP5.3才引进的nowdoc语法,很多云托管坏境很有可能不支持导致歇菜。
    最后强调下,heredoc是从PHP4.0开始引进的,而nowdoc语法则需要5.3版本,因为heredoc包含了nowdoc的功能,所以个人建议还是使用heredoc比较好些。

    简单来说:

    1、heredoc是动态的 nowdoc是静态的
    2、heredoc类似多行的双引号 newdoc类似多行的单引号
    3、heredoc是一种专门处理大段字符串的通用处理方案,而nowdoc是php为了弥补动态实现“heredoc”的效率问题而实现的“高效率”的静态版本

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php heredoc nowdoc
    上一篇:PHP把MSSQL数据导入到MYSQL的方法_php技巧 下一篇:php将图片保存入mysql数据库失败的解决方法_php技巧
    PHP编程就业班

    相关文章推荐

    • windows 2000/xp/2003下安裝apache2.2.3 mysql 5.0.22 php 5.2.0• Joomla使用Apache重写模式的方法_php实例• 请教各位测试这段代码的结果是什么• 小弟我用服务器访问一个网站的二级页面,为什么总被转到它的主页去• file_get_contents函数可否不报错

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网