将PHP标记留在函数中会导致什么问题?

将PHP标记留在函数中会导致什么问题?,php,Php,您可能希望此函数在浏览器中打印名称,它会: <?php function name(){ $var = 'Doe'; ?> John <?php echo $var; } name(); ?> 约翰 这种类型的函数可以用作PHP类的方法吗?这是一种糟糕的代码实践吗?没有[syntax]问题,但我几乎无法想象我可以使用这种代码的情况 如果您认为使用MVC之类的体系结构或在OOP中编写代码,或软件开发中的任何最佳实践,那么该代码是个坏主意,因为您

您可能希望此函数在浏览器中打印名称,它会:

<?php
function name(){
    $var = 'Doe';
    ?>
    John <?php echo $var;
}
name();
?>

约翰

这种类型的函数可以用作PHP类的方法吗?这是一种糟糕的代码实践吗?

没有[syntax]问题,但我几乎无法想象我可以使用这种代码的情况

如果您认为使用MVC之类的体系结构或在OOP中编写代码,或软件开发中的任何最佳实践,那么该代码是个坏主意,因为您将表示与逻辑混为一谈。

这在PHP中不是问题或坏做法。当您需要循环具有大输出的事物时,它特别有用。例如,我可以在类中执行此操作:

function print() {
  /* Lets say we have an array of questions and answers like this:
       $question->$answer
     It will be called $qa
  */

  foreach($qa as $question->$answer) {
    ?><h1><? echo $question; ?></h1>
    <?php if('' != $answer) ?>
      <p> This question has an answer! </p>
    <p><? echo $answer; ?> </p>
    <?
  }
}
函数打印(){
/*假设我们有一系列问题和答案,如下所示:
$问题->$答案
它将被称为$qa
*/
foreach($qa作为$问题->答案){
?>
这个问题有答案


你认为有多少人能在不挠头的情况下弄清楚这是怎么回事?我的电脑上至少有3个WTF。这肯定不是一个好的做法。@netcoder同意,但到处都能看到(几乎)@netcoder-有人问问题你有什么问题?@Owen:你怎么会认为我有问题?o.这个例子没有显示任何业务逻辑,只是演示而已。你为什么需要在演示层中使用这样的函数?(只是好奇)