`
only_java
  • 浏览: 112684 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php中定界符的使用

    博客分类:
  • php
阅读更多
其实定界符在php中的应用还是挺好的,比如大名鼎鼎的Phpwind就是用了定界符。我在做项目的时候也用到,感觉可以利用它将代码和页面进行基本的分离。不过也得特别小心,很容易出错。下面引用某网络上的文章说明下定界符的使用及应该注意的地方。
定界符
另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。

结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。

警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。

如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

不能用定界符语法初始化类成员。用其它字符串语法替代。 例子 11-3. 非法的例子

<?php
class foo {
         public $bar = <<<EOT
bar
EOT;
}
?>  




定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。 例子 11-4. 定界符字符串例子

<?php
$str = <<<EOT
Example of string
spanning multiple lines
using heredoc syntax.
EOT;

/* More complex example, with variables. */
class foo
{
         var $foo;
         var $bar;

         function foo()
         {
             $this->foo = 'Foo';
             $this->bar = array('Bar1', 'Bar2', 'Bar3');
         }
}

$foo = new foo();
$name = 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>  

注: 定界符支持是 PHP 4 中加入的。

 

如何在php中输出html代码(EOT)
<?php
echo <<< EOT
                     <table width=80% border="2" cellpadding="3" cellspacing="0" bordercolor="#808080">
                    <tr bgcolor="#84A9E1">
                    <td align="center">ClassID</td>
                    <td align="center">stuno</td>
                    <td      align="center">学生姓名</td>
                    <td align="center">家长姓名</td>
                    <td align="center">家长手机号</td>
                    </tr>
EOT;
?>

 

总结

 定界符“<<<”的后面紧接着的是定界标识符。标识符由字母、数字或下划线构成,并且不能以数字开始。结尾的标识符必须定格书写,其前不能有任何其他字符。通常的错误是将结尾的定界标识符进行缩进。定界符中的变量可以被解析,可以使用转义字符,但不必转义引号。当需要定义或输出大量的文本时,使用定界符显得尤为方便。
官方参考手册相关内容:http://www.php.net/manual/zh/language.types.string.php

刚开始看书上的 EOT ,EOD 以为有什么区别,结果我试了下,随便写。前后对应,符合标识符的命名规则就行。eg.
<<<abc
    .......
abc

分享到:
评论

相关推荐

    PHP 定界符 使用技巧

    PHP定界符是一种特殊的语法结构,它允许开发者以一种简洁的方式输出多行文本或代码块,而无需担心字符串转义问题。它的基本格式如下: ```php ... EOF; ``` 这里`EOF`被称为标识符,它可以是任意字符串,但必须...

    PHP EOT定界符的使用详解

    下面详细解析标题中提到的PHP EOT定界符的使用规则和注意事项。 首先,EOT(End Of Text)是一个标识符,用于标记字符串的结束。在PHP中,定界符的语法结构非常明确,其基本格式如下: ```php 字符串内容... EOT;...

    php四种定界符详解

    如果要在PHP中使用这种风格的定界符,则需要在`php.ini`中将`asp_tags`设置为`On`: ```asp echo '锄禾日当午'; %&gt; ``` 最后,是JS风格写法`&lt;script language="php"&gt;&lt;/script&gt;`。这种写法使得PHP代码可以像...

    php定界符使用技巧和实例

    PHP定界符常用于HTML模板,因为它允许直接在字符串中插入PHP变量,减少了使用`.=`连接字符串的需求,使代码更清晰。 通过以上介绍,我们可以看出PHP定界符在处理多行字符串和模板时非常有用,正确使用能提升代码...

    php 定界符格式引起的错误

    标题中所提到的“PHP定界符格式引起的错误”,是指在PHP代码中使用heredoc或nowdoc结构时发生的一类语法错误。在PHP中,heredoc是一种特殊的字符串定义方式,允许你在字符串中使用变量而不必担心字符串的结束点。它...

    PHP正则表达式之定界符和原子介绍

    正则表达式的定界符是用来界定正则表达式起止的特殊字符,PHP中默认使用斜线“/”作为定界符。例如,要匹配一个数字,你可以写成正则表达式模式“/\d/”。定界符除了字母、数字和反斜线以外的任何字符都可以使用,...

    php定界符&lt;&lt;&lt;使用技巧和实例

    PHP中的定界符“”是语言的一个重要特性,称为Heredoc语法。它允许你定义一个字符串,并且在这个字符串中可以包含多行文本,还能够包含变量和特殊字符。定界符能够极大地增强代码的可读性和易维护性,特别适用于输出...

    PHP的自定义模板引擎

    3. **定界符的定义**:模板中使用特殊定界符来标记动态内容的位置,常见的定界符包括左定界符和右定界符。 4. **变量替换**:在模板中定义变量,使用这些变量来存储服务器端动态获取的数据。 5. **逻辑控制**:实现...

    PHP动态网站开发任务-PHP语法基础.pptx

    PHP语法基础是PHP开发的基础,PHP代码嵌在页面中的定界符是&lt;?php.php…?&gt;,可并列多次出现,但是不能嵌套使用。在PHP中,需要设置编码类型,以解决汉字乱码问题,可以使用header("Content-Type: text/html;charset=...

    PHP学习教程.pdf

    PHP引擎会自动认别并处理页面中所有位于PHP定界符之时的代码 PHP)脚本语言的语法结构与C语言和Perl语言的语法风格非常相似。用户在使用变量前不需要对变量进行声明。使用PHP动建数块的过程也非常种简 PHP还具有...

    PHP基础教程-语法.pdf

    // 使用定界符为字符串赋值并输出 $str = &lt;font size='2'&gt;测试字符串 &lt;font size="3"&gt;测试字符串 &lt;font size='4'&gt;测试字符串 EOD; echo $str; // 为定界符定义使用的变量 $name = '爱因斯坦'...

    email.class.php

    网络上email.class.php在PHP5下经常报错,修改了,亲测可用,环境阿里云PHP PHP 5.3 ereg() "Function ereg() is deprecated ... 定界符不能是字母数字或反斜线,前后增加后"~",例如"~http://*[^\"]*\.html[^\"]*~

Global site tag (gtag.js) - Google Analytics