【问题标题】:Using php functions to display html [closed]使用 php 函数显示 html [关闭]
【发布时间】:2018-10-07 15:24:09
【问题描述】:

我正在做一个小项目,我想应用某种模板来显示主模板文件之间的内容,当包含在每个页面上时,不使用任何模板引擎。目前我有以下页面。

layout.template.php

<!DOCTYPE html>
<html lang="en">
<head>

</head>
<body>
  <!-- page content displays here -->
  <?php show_content(); ?>
</body>
</html>

index.php

<?php function show_content(){ ?>
<div>
    <h1>Home page</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</div>
<?php } 
include 'layout.template.php';
?>

second.php

<?php function show_content(){ ?>
<div>
    <h1>Second page</h1>
    <p>some other content</p>
</div>
<?php }
include 'layout.template.php';
?>

我使用 show_content() 函数来定义将呈现到每个页面上的 layout.template.php 文件中的 html。当 layout.template.php 包含它时,它会调用该函数并根据包含它的页面在其中显示 html 代码。我的问题是

这是一个好主意或做法吗? 我有什么替代方法来实现这一点(除了使用模板引擎)?

【问题讨论】:

    标签: php html function templating


    【解决方案1】:

    没有完美的答案,因为方法太多了。

    一个好的解决方案是将视图 (HTML) 与逻辑 (PHP) 分开。可能MVC 会是一个很好的答案。

    如果你只想练习:

    创建一个文件夹并将所有 HTML 文件放入该文件夹。然后你有你的 PHP 文件,其中包含一个函数(甚至可能是一个方法),它调用你想要显示的 HTML 内容。 如果您的 HTML 内容还包含 PHP,最好不要将其命名为 myFile.php。在这种情况下称它为myFile.phtml,以便您清楚,它是 HTML,但它的一部分也是 PHP。

    【讨论】:

    • 谢谢@Reza Saadati。那么我所拥有的不是完全错误的代码吗?
    • @Joshua 不,这绝对不错,但是您将 HTML 与 PHP 混合在一起,这不应该是这种情况。取而代之的是,尝试使用 file_get_contents() 函数获取 HTML 内容。
    • 好的@Reza Saadati 再次感谢。
    猜你喜欢
    • 2011-10-17
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多