PHP中nowdoc和heredoc使用需要注意的一点
2015-01-24信息快讯网
多次使用 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比较好些。
简单来说:
1、heredoc是动态的 nowdoc是静态的
2、heredoc类似多行的双引号 newdoc类似多行的单引号
3、heredoc是一种专门处理大段字符串的通用处理方案,而nowdoc是php为了弥补动态实现“heredoc”的效率问题而实现的“高效率”的静态版本
php中heredoc与nowdoc介绍
ThinkPHP自动填充实现无限级分类的方法
ThinkPHP验证码和分页实例教程
ThinkPHP文件上传实例教程
ThinkPHP中ajax使用实例教程
ThinkPHP中的常用查询语言汇总
PHP高手需要要掌握的知识点
PHP中使用strpos函数实现屏蔽敏感关键字功能
PHP中使用sleep函数实现定时任务实例分享
PHP中使用sleep造成mysql读取失败的案例和解决方法
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
PHPer 需要了解的 5 个 Composer 小技巧
浅谈php安全性需要注意的几点事项
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
destoon安全设置中需要设置可写权限的目录及文件
对PHP语言认识上需要避免的10大误区
PhpDocumentor 2安装以及生成API文档的方法
一漂亮的PHP图片验证码实例
php获取表单中多个同名input元素的值
php中的静态变量的基本用法
php遍历文件夹下的所有文件和子文件夹示例
php数据库备份还原类分享
PHP实现微信公众平台音乐点播
php的array数组和使用实例简明教程(容易理解)
PHP引用(&)各种使用方法实例详解
PHP使用imagick读取PDF生成png缩略图的两种方法
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
PHP的password_hash()使用实例
PHP中对于浮点型的数据需要用不同的方法解决
探讨:如何使用PhpDocumentor生成文档
关于PHPDocument 代码注释规范的总结
解析php中heredoc的使用方法