heredoc和nowdoc的区别
来源:互联网 发布:js点击弹出qq聊天窗口 编辑:程序博客网 时间:2024/05/21 09:00
多次使用 php nowdoc HereDoc 插入大量Hmtl都没有成功,一样提示语法有问题,事实上PHP手册注明是这样写的,实在很奇怪
最后发现了问题所在,原来这类文档在结束时,一定要靠近行的第一位,就是说EOF前面不能有空格,而为了代码缩进,正好产生了这样的问题.
代码如下:
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同时不要漏掉结束符分号;
附: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比较好些。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;?>
1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。
2.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接,如下:
$v=2;$a= <<<EOF"abc"$v"123"EOF;echo $a; //结果连同双引号一起输出:"abc"2 "123"
3.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();
- heredoc和nowdoc的区别
- 界定符heredoc和nowdoc的区别
- php 中的heredoc与nowdoc的区别
- php中heredoc与nowdoc的区别
- php中heredoc与nowdoc的区别
- HEREDOC和NOWDOC
- Heredoc和Nowdoc
- 什么是heredoc和nowdoc
- heredoc和nowdoc
- PHP中字符串的heredoc结构和nowdoc结构
- php中heredoc和nowdoc的用法,少写echo
- PHP定界符两种方式Heredoc和Nowdoc
- PHP+Tp5中heredoc和nowdoc解析
- php中heredoc与nowdoc的使用方法
- php中heredoc与nowdoc的使用方法
- Php中heredoc与nowdoc的使用方法
- php中heredoc与nowdoc的使用方法
- php中heredoc与nowdoc的使用方法
- 文章标题
- 韩顺平 javascript教学视频_学习笔记20_多态经典案例_补讲闭包细节
- 蛇形填数
- Sql语句优化--经典收藏
- java提高篇(二二)-----LinkedList
- heredoc和nowdoc的区别
- Calendar日期加一天
- 是时候该写点东西了
- PL/SQL开发
- OpenGL学习笔记(第二天)(范例+练习)
- Spring学习笔记(十六):无状态 bean和有状态bean
- 2016年备战上半年软考通关秘籍(内含经典押题资料)
- ShareSDK实现第三方微信分享功能
- 学习 Linux,101: 使用正则表达式搜索文本文件