【问题标题】:PHP and HTML formatting, super basic questionPHP 和 HTML 格式化,超级基础的问题
【发布时间】:2011-08-18 19:24:50
【问题描述】:

我的代码进入了一个阶段,我有太多的代码和太多的 HTML 取决于某些服务器条件的后果。

我只是想知道,有什么办法可以绕过:

<?php if (cond) echo '<p class="someclass">some HTML</p>'; ?> 

?

我只是希望在 C 中有类似的东西,你可以像这样简单地去:

#ifdef x 
    do_a_lot_of_html_stuff;
#endif

我现在能做的就是:

<?php if (x) require_once("includes/all_needed_part.php"); ?>

谢谢!

【问题讨论】:

  • 模糊的问题。你是说你想要一个框架?
  • C 版本并不比 PHP 版本简洁。无论您使用哪种框架或模板系统,您都会遇到这种乏味的情况。在某些时候,您只需咬住键盘并开始输入。
  • if ( cond) { ...; ...; ...; ...; }有什么问题吗?

标签: php html formatting


【解决方案1】:

不完全确定您在问什么,所以如果我正确理解您的问题,您正在寻找一种使用 PHP 打印 HTML 块的方法?

<?php if ($a == $b): ?>
  <div>a == b</div>
  <p>a is equal to b</p>
<?php else: ?>
  <div>a != b</div>
  <p>a is not equal to b</p>
<?php endif; ?>

【讨论】:

  • 没问题。顺便说一句,您也可以将 &lt;?phpinside 放在 if 逻辑中,因为我发现这是整个事情中最有用的部分之一。
【解决方案2】:

我一般是这样的:

<?
    function print_heading()
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title><? print_title(); ?></title>
    <link rel="stylesheet" type="text/css" href="..." />
    <script language="javascript" type="text/javascript" src="..."></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="title" content="<? print_title(); ?>" />
</head>
<?
    }
?>

但我认为用if (condition) 替换function print_heading() 也可以。

【讨论】:

    【解决方案3】:

    还有另一种语法:

    <?php if($x): ?>
    do_a_lot_of_html_stuff;
    <?php endif; ?>
    

    【讨论】:

      【解决方案4】:

      您可以在 PHP 条件之间添加 HTML,如下所示:

      <?php 
      $a=1;
      if($a==1){ ?>
      <div>All the HTML Stuffs</div>
      <?php } ?>
      

      【讨论】:

      • 希望有帮助!!
      【解决方案5】:

      【讨论】:

        【解决方案6】:

        你可以这样做:

        <?php if( cond ) { ?>
            SECRET!
        <?php } ?>
        

        【讨论】:

          【解决方案7】:

          我建议您查看template engine,其中有很多 PHP 存在,其中最成熟的一个是 SmartyTwig 是一种较新(且更简洁)的解决方案,由 Symphony framework 使用。

          【讨论】:

            【解决方案8】:

            我猜你在你的代码中应该使用面向对象编程。 程序化编码很好,但您最终会达到页面中只有太多代码的地步。

            【讨论】:

              【解决方案9】:

              你可以使用类似 c 的语法,但仍然可以做很多类似的事情。

              这是使用类似 c 语法的典型 php 方法。

              <?php
                  if(1==1):
                      echo 'i can do lots of stuff here';
                      $variable = 'i hold some value';
                      $array = array('1','two','three');
                  endif;
              ?>
              

              您可以实现的另一种方法是使用括号。例如。

              <?php
              if(condition) {
                 //do some stuff here
              } else if(cond) {
                 //do another stuff here based on some conditions 
              } else if(cond) {
                  //you can extend the nested elseif as many times as you like
              } else {
                  //else execute this.
              }
              ?>
              

              【讨论】:

                【解决方案10】:

                猜你是问是否有可用于 php 的框架?答案是肯定的,这里至少有一个不错的:http://cakephp.org/

                【讨论】:

                • 这个问题不是:“你最喜欢的 PHP 框架是什么?请宣传一下。”
                • 不宣传我的最爱。只是举一个我头脑中的例子。
                猜你喜欢
                • 2012-02-18
                • 2013-06-23
                • 1970-01-01
                • 1970-01-01
                • 2021-10-29
                • 1970-01-01
                • 1970-01-01
                • 2014-12-26
                • 1970-01-01
                相关资源
                最近更新 更多