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();
分享到:
相关推荐
总结起来,PHP的Heredoc技术是构建模板系统的一种实用手段,尤其是在phpwind这样的项目中。通过Heredoc,可以方便地嵌入变量和多行文本,同时配合注释技巧,使得模板文件在可视化编辑器中易于维护和设计。然而,这种...
总结来说,heredoc是PHP中处理多行文本字符串的一种有效工具,它通过特殊标记定义字符串的开始和结束,使得在字符串中可以方便地使用变量和控制字符。它的易读性和易写性使得在输出复杂结构的数据时,比如HTML页面,...
3. 解析行为:heredoc中的PHP变量需要使用大括号包裹,如`{$name}`,而nowdoc则直接保留原始内容。 4. 性能:nowdoc由于不进行变量解析,通常比heredoc更快。 在PHP 5.3及更高版本中,如果性能不是特别关键的因素,...
本篇内容将对PHP中的数据类型进行一个详细的总结和分析。 PHP中数据类型分为八种基本类型,分别是布尔型(bool)、整型(integer)、浮点型(float)、字符串型(string)、数组型(array)、对象(object)、资源...
- 对象通过class关键字声明,并使用new关键字创建实例,通过->操作符访问属性和方法。 三、常量和变量 - 常量使用define()函数定义,常量名通常全大写,定义后不可修改,访问常量时不需要加$符号。 - PHP变量不...
12. PHP中的heredoc是一种多行字符串定义方式,结束标志必须是唯一的,且其所在行不能有其他内容,除了末尾的分号。 13. 遍历目录的函数可以自定义,例如以下代码示例: ```php function my_scandir($dir){ $files...
**题目:** 下列哪一个方法用于二进制比较字符串(不区分大小写)? - **正确答案:** `strcasecmp()`函数用于比较两个字符串而不考虑大小写差异。 #### 十二、数组操作与输出 **题目:** 下列代码的输出是什么? `...
- 使用Heredoc语法结构,例如: ```php echo HTML内容... EOT; ``` 4. **判断文件是否存在并输出内容**: - 使用`file_exists()`检查文件是否存在,使用`file_get_contents()`读取文件内容。 5. **卸载变量*...
为了避免这种繁琐的转义操作,PHP提供了heredoc和nowdoc字符串格式化的方法,这允许开发者以一种更自然的格式编写代码,其中特别地使用了分界符语法,即通过与标识符(如EOT)来定义一个字符串的开始和结束。...
本文将详细介绍PHP中定义长字符串的几种方法,并重点介绍heredoc语法,这是一种非常灵活且功能强大的定义长字符串的方式。 #### 常规字符串定义方法 在PHP中,通常有两种定义字符串的方法:单引号(')和双引号(...
本文档旨在总结 PHP 面试中常见的知识点,涵盖了 PHP 基础知识、数组函数、正则表达式、Apache 模块安装、PHP 语句、类和对象、Session 会话、SQL 语句等方面。 1. PHP 预定义变量 在 PHP 中,目前脚本的名称(不...
在PHP编程中,正确地理解和使用变量定义以及变量替换的方法对于字符串操作至关重要。通过上述的知识点,我们可以看到双引号和heredoc在处理变量替换时提供了极大的便利,而单引号字符串则在需要原样输出时非常有用。...
HEREDOC允许在PHP中使用自定义的标签来包围文本,并解析其中的变量,而NOWDOC则不解析变量。 ```php <?php $Content = 'Hello!'; echo <!DOCTYPE html> $Content 测试页面 LABEL; ?> ``` NOWDOC的使用与...
根据给定文件的信息,我们可以总结出以下详细的PHP面试知识点: ### 一、基础知识 #### 1. 表单中GET与POST提交方法的区别 - **GET**:将表单数据附加到URL之后,以问号分隔并在浏览器的地址栏中可见。GET请求的...
总结,`echo` 是 PHP 中不可或缺的输出工具,尤其适用于快速、高效地输出字符串。理解其工作原理和用法,能够帮助我们编写更加高效的 PHP 代码。在实际开发中,根据具体需求选择合适的输出方式,如需格式化输出时,...
`$_POST`用于接收POST方法提交的数据,`$_GET`用于接收GET方法的数据,而`$_REQUEST`则同时包含了POST和GET的数据,但需要注意安全性问题,因为它可能带来跨站脚本攻击(XSS)的风险。 最后,PHP中的heredoc语法是一...
- 使用定界符(heredoc)定义字符串,这是一种多行字符串定义方式,可以方便地插入包含特殊字符的字符串。例如: ```php $str = 再过一天 STRMARK; ``` 2. **字符串处理函数**: - **strlen()**:用于获取...