PHP分隔符和WordPress(具体是函数.php)


PHP delimiters and WordPress (functions.php in specific)

我正在修改wordpress安装中子主题的功能.php文件。

在某些时候,我希望一个函数生成 html,然后作为普通函数继续。

我编写代码的"正常"方式是这样的:

<?php
/**
 * Child Theme
 * Author: Seb
**/
function html_output() {
 # some php code here
 ?> // closing php delimiter
 // some html code here
<?php } # opening php delimiter to close the function
# more php code here

但是,当在线查看其他人的代码时,最后两行是这样的:

<?php } ?> // opening php delimiter to close the function and then closing delimiter
<?php # random (?) extra php delimiter I don't get the meaning of

编辑器(Coda和Sublime Text 2)不会抱怨我的代码,但它不起作用。有人可以向我解释为什么必须这样才能正常运行吗?

编辑:

为了使我的问题更清楚,我不明白如何

<?php }

不同于

<?php } ?>
<?php

虽然我不确定你的问题,但我心里有两件事

  1. 每个开发人员的编码风格不同(同时保留代码健康 ,并按照该特定上使用的标准框架)
  2. 这是一种做法,我经常注意到您在代码中总是有一个OPENED <?PHP标签,我认为我在某处读到的原因是,它可以帮助我们避免已经在线发送的标头.....错误
  3. 此外,这个打开的<?php标签表示您有一个 php 文件,如果你想在此之后添加任何一段代码,你必须遵循牢记 PHP 标准/规则

对于 PHP 观点

<?php } ?>
<?php

<?php }

两者都可以,并且它们符合 PHP 规则,但是当涉及到 WP 时,您可以通过包含 3 个或更多文件来呈现最终的 html,有时它会变得有问题......考虑以下情况

标头.php

<?php }

现在,内容.php

<?php
//and some php code goes here

比如说,要加载页面,两个文件被合并,所以最终输出将是这样的

 <?php }
<?php
    //and some php code goes here

只是想用一个例子来解释你的情况,而不是具体的你......