使用php函数显示html
我正在做一个小项目,我想应用某种模板来显示主模板文件之间的内容,而不使用任何模板引擎。目前我有以下几页 layout.template.php使用php函数显示html,php,html,function,templating,Php,Html,Function,Templating,我正在做一个小项目,我想应用某种模板来显示主模板文件之间的内容,而不使用任何模板引擎。目前我有以下几页 layout.template.php <!DOCTYPE html> <html lang="en"> <head> </head> <body> <!-- page content displays here --> <?php show_content(); ?> </body> &
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- page content displays here -->
<?php show_content(); ?>
</body>
</html>
<?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';
?>
<?php function show_content(){ ?>
<div>
<h1>Second page</h1>
<p>some other content</p>
</div>
<?php }
include 'layout.template.php';
?>
index.php
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- page content displays here -->
<?php show_content(); ?>
</body>
</html>
<?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';
?>
<?php function show_content(){ ?>
<div>
<h1>Second page</h1>
<p>some other content</p>
</div>
<?php }
include 'layout.template.php';
?>
主页
Lorem ipsum dolor sit amet,奉献精英
second.php
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!-- page content displays here -->
<?php show_content(); ?>
</body>
</html>
<?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';
?>
<?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代码。我的问题是
这是个好主意还是好做法?
除了使用模板引擎之外,我还有什么其他方法可以实现这一点呢?没有一个完美的答案,因为有太多的方法可以实现这一点 一个好的解决方案是将视图(HTML)与逻辑(PHP)分开。也许是个好答案 如果你只想练习: 创建一个文件夹并将所有HTML文件放入该文件夹。然后您就有了PHP文件,其中包含一个函数(甚至可能是一个方法),该函数调用您想要显示的HTML内容。
如果HTML内容也包含PHP,最好不要将其命名为
myFile.PHP
。在本例中,将其命名为myFile.phtml
,这样您就可以清楚地看到,它是HTML,但它的一部分也是PHP。谢谢@Reza Saadati。所以我所拥有的不是完全糟糕的代码吗?@Joshua不,这绝对不坏,但你将HTML与PHP混合在一起,这不应该是这样。相反,请尝试使用函数file\u get\u contents()
获取HTML内容。好的@Reza Saadati再次感谢。