【问题标题】:A way to load in PHP require_once Data from the current file一种从当前文件加载 PHP require_once 数据的方法
【发布时间】:2020-04-14 23:41:12
【问题描述】:

是否可以在 require_once 中添加数据。我不能解释得很好,所以我只是显示它。

所以当我加载索引页面时,它会加载一个包含数据的结构。

// Index
<?php
require_once('/structure.php');
// THIS DATA NEEDS TO SEND TO STRUCTURE, INCLUDING PHP
if (2 > 1)
{
  ?>
  <td>Jill</td>
  <?php
}
?>

这是结构

// '/structure.php'
<table>
 <?php 
 // HERE THE DATA NEED TO LOAD
 ?>
</table>

所以它最终会在索引处看起来像这样。

// Index
<table>
 if (2 > 1)
 {
   ?>
   <td>Jill</td>
   <?php
 }
 ?>
</table>

【问题讨论】:

  • 你试过了吗,那总是第一次测试
  • 你可能会发现它最终会消失在它自己的排气管中
  • 我试过了。只有我找不到一个好的执行方式(这就是我在这里的原因xd)

标签: php html


【解决方案1】:

这似乎是构建代码的一种糟糕方式。话虽如此,这是我能想到的最不坏的方法。

index.php

<?php

$requireVersion = '2';

require_once('/structure.php');

结构.php

<table>
    <?php
      $requireFile = '/structure_include' . $requireVersion . '.php';
      if ( file_exists($requireFile) ) {
        require_once($requireFile);
      }
    ?>
</table>

structure_include1.php

<?php

if (1 > 2)
{
  echo '<td>Jack</td>';
}

structure_include2.php

<?php

if (2 > 1)
{
  echo '<td>Jill</td>';
}

【讨论】:

    【解决方案2】:

    从技术上讲,可能需要一个必需的文件。但这将是一个无限循环。 我可以建议:

    index.php

    <table>
    <?php 
    require_once('structure.php');
    if(2 > 1){
     if(isset($_SESSION['temp_markup']){
     echo $_SESSION['temp_markup'];
    }
    }
    ?>
    </table>
    

    结构.php

    <?php
    session_start();
    $html = '<td>Jill</td>';
    //add session or some storage manner
    $_SESSION['temp_markup'] = $html;
    ?>
    

    这将是我基于这个相当令人困惑的问题的想法。

    【讨论】:

    • 我不得不编辑答案。你所拥有的,乍一看,看起来都在一个文件中,看起来它会在标题之前输出。
    • 但是,第一个文件如何维持会话? 那个,可能容易在标题之前输出。如果会话是在 structure.php 内部启动的,它似乎是,它将失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 2014-03-02
    • 2019-09-16
    • 1970-01-01
    • 2019-05-21
    • 2014-08-14
    相关资源
    最近更新 更多