php短标签的混合物

drp*_*ken 2 php syntax codeigniter

我正在接管一个codeigniter项目,并注意到原始开发人员在视图中使用了短标签和php标签的混合.例如:

<div id="content">

        <?=show_header()?>

        <ul id="products">
            <?php if (count($products) > 0) : ?>
            <?php foreach($products as $product) : ?>
             ...
</div>
Run Code Online (Sandbox Code Playgroud)

继承这是不好的做法吗?我认为它已经在我的开发环境中引起了我的问题.

编辑:在某些视图上<?= =>标签INSIDE <? php ?>标签怎么样?像这样:

<ul>
<?php foreach ($details as $detail) : ?>
<?php $detail = split(',',$detail); ?>
<?php if ($detail[0] != '') : ?>
    <li>
    <strong><?=ucwords($detail[0])?></strong> : <?=$detail[1]?>
    </li>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)

这就是我现在困惑的事情.

Emi*_*mil 7

馊主意.并非所有PHP的安装和版本都支持这种类型的标记,并且它使代码非常难以阅读.

我的建议是:始终使用完整的开放标签:<?php /*...*/ ?>.

如果我已经给你的脚本工作或修复,我会在第3行停下来,诅咒并抓挠我的头,因为这显然是不可读的.

此外,在第6和第7行,我宁愿使用{而不是:为了可读性.

  • 如果您发现自己处于不支持它的环境中,Codeigniter有一个配置设置可自动转换为长格式. (2认同)