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

时间:2011-12-10 15:34:21

标签: php

您希望此功能在浏览器中打印名称,并执行以下操作:

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

这种类型的函数是否可以用作PHP类的方法,这是不好的代码实践吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果您考虑使用像MVC这样的建筑或在OOP中编写代码,或者在软件开发中使用任何最佳实践,那么代码就是一个坏主意,因为您将表示与逻辑混合在一起。

答案 2 :(得分:0)

这不是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>
    <?
  }
}

这是一个相当糟糕的例子,但我需要动态,这就是我想出来的。

如果你在这里做了一些复杂的事情,它会比任何其他方法更令人困惑,但会缩短你的代码,并将所有内容保存在一个地方。

但是,您的示例显示此练习使用不当,因此我不会在您的情况下使用它。