【问题标题】:Sperate PHP include files - opening and closing brackets/braces { } for if's and while loop nd closing curly brackets/braces in between files单独的 PHP 包含文件 - 为 if 和 while 循环打开和关闭大括号/大括号 { } 并在文件之间关闭大括号/大括号
【发布时间】:2026-01-18 14:55:01
【问题描述】:

我正在使用 PHP,包括:

include_once("somephpfile.php");

还有一个问题很大的 CSS/HTML 设计器。我试图让所有 PHP 远离设计师,因为他们变得非常恐慌:\ 他们会产生很多问题,删除代码和东西并搞砸一切。

所以我一直在使用 PHP 包含在其 HTML 之间必要的地方添加 PHP。

PHP 运行良好,错误为零。

将 PHP 分成多个包含文件导致了我的一些问题。

以下是我尝试分离的示例。

要分离的PHP:


<?php
$foo = 0;
$bar = 0;

if($foo == 0){

    $foo++;
    $bar++;
    // more php code

    while($foo < 20){

        $foo++;
        $bar++;
        // more php code

    // Now write the designers HTML here in this loop
    ?>  

        <BR /> Some HTML 
        <?php echo $foo; ?>
         more html 
        <?php echo $bar; ?>
        <BR /> More HTML <BR /> <BR />

    <?php
    // Done with the designers code -Now close my PHP here

   }// END while($foo < 5)

}// END if($foo == 0)
?>

我想把它分成 2 个包含 - include1.php 和 include2.php

我想让设计师在 while 循环之间编写代码。所以我做的是这样的:


include1.php

   if($foo == 0){

    $foo++;
    $bar++;
    // more php code

      while($foo < 20){

        $foo++;
        $bar++;
       // more php code
   ?>

DESIGNERS HTML 和一些混合的 PHP

    <BR /> Some HTML 
    <?php echo $foo; ?>
     more html 
    <?php echo $bar; ?>
    <BR /> More HTML <BR /> <BR />

include2.php

    <?php
   // Done with the designers code -Now close my PHP here

  }// END while($foo < 5)

}// END if($foo == 0)
?>

我收到一个错误(“解析错误:语法错误,意外的 $end in)

我有多个 if 和 while 和循环。

我的问题是:如何将这些大括号/方括号分开而不报错?

谢谢

【问题讨论】:

  • 看起来为此使用模板机制是有意义的。就像任何 cms 将标记与逻辑分开一样。只有在这种情况下,标记是由设计师完成的。模板系统为您提供了这种分离。

标签: php include curly-braces curly-brackets


【解决方案1】:

你想做什么是错的。您不能将诸如ifwhile 之类的PHP 控制结构分解为多个文件。如果您需要将 PHP 与 HTML 分开,您的最佳选择可能是 Smarty templates。它们将使您的 HTML 保持稳定和干净,与 PHP 一样。

【讨论】:

    【解决方案2】:

    使用Smarty。这将有助于将表示方面与 PHP 分开。

    【讨论】:

      【解决方案3】:

      我认为您与包含中的开头&lt;?php 和关闭?&gt; 位不一致,如果它们与发布的一样。它们需要像往常一样在 PHP 代码之前和之后。我不确定它是否会起作用。

      相反,您应该颠倒这个想法,为“设计者的 HTML”创建一个单独的 .php 文件,您可以将其包含到您的 PHP 中。这样,设计者就有了一个只有简单的 PHP 用于回显的文件。这可能是适合您的目的的逻辑和设计分离。

      【讨论】:

        最近更新 更多