【问题标题】:PHP Using a variable from an include [closed]PHP使用包含中的变量[关闭]
【发布时间】:2014-08-27 06:24:14
【问题描述】:

我得到了这样一个简单的 PHP 代码:

<div id="master">
    <div id="info">
        <?php include 'division.php';
        echo $winrate;

        ?>
    </div>

    <div id="lastmatches">
        <?php include 'lastmatches.php';?>
     </div>



 </div>

</body>

如您所见,我想回显 $winrate,但 $winrate 是来自 lastmatches.php 的变量。所以它永远不会起作用。有人想在 div 信息中回显 $winrate 吗?我被困住了,我希望你们能帮助我!

提前致谢!

【问题讨论】:

  • $winrate 以后定义时无法显示。在回显它之前包含 lastmatches.php。
  • 复制stackoverflow.com/questions/4675932/…使用global $winrate;
  • 但是如果我早点包含它,它的 HTML 和 CSS 有问题吗?
  • 仅当您在 lastmatches.php 中回显内容时。
  • 正确地构造你的代码,这样你就可以获得$winrate 的值,而不会输出一堆HTML。如果您的问题是两者交织在一起,则需要将这两件事解耦。

标签: php include


【解决方案1】:

您需要在定义$winrate 之前包含lastmatches.php。 但是如果这个文件输出了一些内容,那么你会想要使用缓存系统在正确的地方输出正确的内容。

<div id="master">
    <div id="info">
        <?php include 'division.php';
        // begin cache
        ob_start();
        include 'lastmatches.php';
        // end cache
        $lastmatchescontent = ob_get_clean();
        echo $winrate;

        ?>
    </div>

    <div id="lastmatches">
        <?php echo $lastmatchescontent; ?>
     </div>



 </div>

</body>

【讨论】:

  • 我将其称为输出缓冲而不是缓存,因为它不会保留页面以节省处理时间。
  • 确实,只是我第一次听说这种方法,它被称为caching,所以它一直留在我的脑海中。但你的说法更准确。
【解决方案2】:

我建议你遵循 MVC 方法,如果你不想使用框架,你可以这样做:https://github.com/LPodolski/basic_php_templating

这将使代码更具可读性,通过将生成输出与从 db 获取数据、解析数据等方面分离出来

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2013-12-18
    • 2013-05-17
    • 2011-05-23
    相关资源
    最近更新 更多