PHP:将静态HTML内容与解析的PHP变量集成?

PHP:将静态HTML内容与解析的PHP变量集成?,php,templates,Php,Templates,我在一个定义了以下限制的项目中工作: 我的PHP文件不能有多个开始或结束标记。 从上到下都是PHP,但我可以通过“导入”的方式添加静态内容 在我的PHP索引文件中添加静态HTML内容(如输出网站菜单标题或公式)并同时解析文件中的PHP变量的正确/优雅方法是什么 就像一个公式,它生成一个HTTP POST(登录或注册),并在不匹配的情况下显示先前输入的电子邮件地址,等等 一种方法是 echo "<form ...> \n <input ... value='$lastemail'

我在一个定义了以下限制的项目中工作:
我的PHP文件不能有多个开始或结束标记。
从上到下都是PHP,但我可以通过“导入”的方式添加静态内容

在我的PHP索引文件中添加静态HTML内容(如输出网站菜单标题或公式)并同时解析文件中的PHP变量的正确/优雅方法是什么

就像一个公式,它生成一个HTTP POST(登录或注册),并在不匹配的情况下显示先前输入的电子邮件地址,等等

一种方法是

echo "<form ...> \n <input ... value='$lastemail'>";
echo“\n”;

但我不喜欢引用。echo我现在提供的解决方案可能看起来冗长而费力,但它将是解决此类约束问题的最佳方法之一。创建一个包含两个表的数据库,其中一个表将存储所有静态数据,即HTML代码,而另一个表将存储动态数据,即您希望个性化的数据。然后,您可以使用数据库分别弹出动态和静态数据,所有这些都只使用纯PHP

<?php
  $host = "127.0.0.1";
  $user = "root";
  $password = "****";
  $db = "project";
  $txt = NULL;
  $conn = mysqli_connect($host, $user, $password, $db);
  if(!conn){
     header("location:error.htm");
  }
  $query1 = "SELECT dynamicdata FROM projectdynamicdata WHERE pagename ='index'";
  $resultset1 = mysqli_query($conn, $query1);
  while($row = mysqli_fetch_assoc($resultset1){
      $txt = $row["dynamicdata"];
  }
  $query2 = "SELECT htmlpage FROM projectstaticdata WHERE pagename='index'";
  $resultset2 = mysqli_query($conn, $query);
  while($row = mysqli_fetch_assoc($resultset){
      echo $row["htmlpage"];
  }
  mysqli_close($conn);
?>

也许您可以使用模板系统?PHP有很多。(在我看来)有些不错的是:

  • ,这是非常小和快速的
  • ,稍大一点,但速度快,非常受欢迎

  • 所以只要把html和php放在不同的文件中,我看不出有什么不同problem@php_nub_qq例如我想我把这个问题解释得很好?你真的通读了吗?是的,我读了你的问题,但我仍然不明白问题是什么。几乎每个MVC框架都能做到这一点?我应该更好地指定它(将更新我的问题)。php开始和结束标记必须位于页面的第一行和最后一行。限制是不能在一个文件中混合使用HTML和PHP代码。我认为这是我需要的方向,我将研究它们。因为我必须审核任何库或框架,所以我需要一些工作良好、代码小和高性能的东西。从来没听说过小树枝或Smarty!我明白,你有一些功课要做:)我已经使用了这两个模板引擎,发现它们工作得很好,但我稍微偏爱Twig,我认为它的语法更优雅。当然还有很多其他的模板/替换引擎可供选择,你可以通过谷歌找到,但我不能对其他任何东西发表评论。祝你好运,找到适合你需要的东西!