为什么PHP抛出源代码缩进?

时间:2015-04-16 14:28:35

标签: php

有一段时间我想知道为什么PHP会抛出源代码缩进。

实施例

PHP:

<script type="text/javascript">
  swfobject.embedSWF("a.swf", "a", "100%", "100%", "10.0.0", "a.swf", params); 
  params.1 = "<?php echo implode(',', $_POST['1']); ?>";
  params.2 = "<?php echo $_POST['2']; ?>";
  params.3 = "<?php echo $_POST['3']; ?>";
  <?php if ($_POST['4']) { ?>params.5 = "/mode <?php echo $_POST['2']; ?> +D";<?php } ?>
  params.6 = "Test";
</script>

生成源代码:

<script type="text/javascript">
  swfobject.embedSWF("a.swf", "a", "100%", "100%", "10.0.0", "a.swf", params); 
  params.1 = "A";
  params.2 = "B";
  params.3 = "C";
  params.5 = "/mode B +D";
        params.6 = "Test";
</script>

为什么PHP会在下一行抛出源代码缩进,如何阻止它使我的代码难看呢?

1 个答案:

答案 0 :(得分:0)

我同意这不好。任何不关心源代码的人都不会得到我们的工作。丑陋的源代码是万恶之源!不,开个玩笑。

但是,通过混合PHP和HTML,您可以在代码中犯一个基本错误。是的,我知道可以做到,但是你呢?你的PHP代码是否具有可读性?我想不是。

这就是我编码的方式:

<?php
  // get parameters
  $params[1] = implode(',', $_POST['1']);
  $params[2] = $_POST['2'];
  $params[3] = $_POST['3'];
  if ($_POST['4']) $params[5] = "/mode {$_POST['2']} +D";
  $params[6] = "Test";

  // create javascript
  echo '<script type="text/javascript">'.PHP_EOL.
       '  swfobject.embedSWF("a.swf","a","100%","100%","10.0.0","a.swf",params);'.PHP_EOL;
  foreach ($params as $no => $value) {
    echo "  params.$no = \"$value\";".PHP_EOL;
  }
  echo '</script>';
?>

换句话说:你有一个强大的编程语言,为什么不使用它呢?由于所有输出现在都由PHP完成,因此您可以完全控制它。

这段代码还有很多问题,但那是另一次。