HTML 礼仪中的 PHP

标签 php

这已经困扰我很长一段时间了,我想知道在 HTML 中编写 PHP 代码时的典型礼仪是什么。

我有以下代码:

<?php

    $country_list = array("AF"=>"Afghanistan", "AL"=>"Albania", "DZ"=>"Algeria");

    echo '<div class="some-class">
              <font color="red">Just some text.</font>
              <select>';

    foreach($country_list as $country_code => $country_name) {
        echo '<option value="' . $country_code . '">' . $country_name;
    }

    echo '</select>
          </div>';

?>

对我来说,这看起来非常难看,因为 HTML 没有对齐,而且很难使用看起来不好的东西。

有什么方法可以改进,使其看起来更好吗?在编写像这样与 HTML 内联的 PHP 代码时,是否有某种 PHP 礼仪?

谢谢。

最佳答案

通常的做法是将输出 HTML(“ View ”)的代码与逻辑(通常在“ Controller ”中)分开。至少,这可以使用仅处理输出的 PHP 代码来完成,但通常使用模板引擎来完成,例如 Smarty .

如果您有一个简单的应用程序,模板引擎可能会显得有些过分。在这些情况下,您可以采取一些措施来清理代码:

  • 忽略 HTML 缩进。只需担心 PHP 中的代码缩进即可。无论如何,这对你来说很重要。如果您需要使用缩进的 HTML,请让浏览器的开发人员工具来处理它。

  • 避免重复关闭/打开 PHP 标签。只需坚持echo即可。再次强调,如果您需要混合 PHP 和 HTML 以至于需要反复关闭/打开 PHP 标签,请考虑使用模板引擎。

最后,请务必对输出到 HTML 中的任意数据使用 htmlspecialchars(),以确保生成有效的 HTML,并避免某些类型的 XSS 攻击漏洞。

关于HTML 礼仪中的 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648511/

相关文章:

php - header ('P3P: CP="CAO PSA OUR"'); 有什么作用?

php - mysql_connect() : Access denied for user 'adminryan' @'localhost' (using password: YES)

php - 阻止 SELECT 直到结果可用

php - 是否有类似*.oft 的电子邮件模板文件,可以在所有电子邮件程序中打开?

php - Magento 送货价格因国家/地区而异。我怎样才能做到这一点?

php MySQL 多词搜索

php - Drupal 数据库连接查询

php - 多个匹配条件

php - wordpress formatting.php - 修复双破折号

php - 如何通过 CodeIgniter 中的 get 请求获取当前 url?