PHP中nowdoc和heredoc使用需要注意的一点


Posted in PHP onMarch 21, 2014

最后发现了问题所在,原来这类文档在结束时,一定要靠近行的第一位,就是说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 相关文章推荐
把PHP安装为Apache DSO
Oct 09 PHP
php 动态执行带有参数的类方法
Apr 10 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
php检索或者复制远程文件的方法
Mar 13 PHP
php实现的农历算法实例
Aug 11 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
php 数组元素快速去重
May 05 PHP
CodeIgniter整合Smarty的方法详解
Aug 25 PHP
php获取表单中多个同名input元素的值
Mar 20 #PHP
php中的静态变量的基本用法
Mar 20 #PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 #PHP
php数据库备份还原类分享
Mar 20 #PHP
PHP实现微信公众平台音乐点播
Mar 20 #PHP
一个PHP针对数字的加密解密类
Mar 20 #PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 #PHP
You might like
深入了解PHP类Class的概念
2012/06/14 PHP
解析php类的注册与自动加载
2013/07/05 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
php微信开发之谷歌测距
2018/06/14 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
javascript中this的四种用法
2015/05/11 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
小程序实现录音功能
2020/09/22 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
python实现石头剪刀布小游戏
2021/01/20 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
django使用JWT保存用户登录信息
2020/04/22 Python
什么是python的函数体
2020/06/19 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
中职应届生会计求职信
2013/10/23 职场文书
工程师岗位职责规定
2014/02/26 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
心得体会格式及范文
2016/01/25 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android