我需要一些帮助。我正在一个网站的后端工作,我想创建一些功能,在那里我可以重复使用相同的代码,而不是复制它
所以我会有一些包含信息的"部分",例如:
getQuickInfo
function getQuickInfo() {
echo '
<div class="portlet">
<div class="portlet-header">
<h4>Quick Info</h4>
</div>
<div class="portlet-content">
<table cellspacing="0" class="info_table">
<tbody>
<tr>
<td class="value">'.getCount("total_users").'</td>
<td class="full">Total Users</td>
</tr>
<tr>
<td class="value">'.getCount("count_open_requests").'</td>
<td class="full">Open Support Requests</td>
</tr>
</tbody>
</table>
</div>
</div>
';
}
现在我知道我处理这个问题的方式不对,这就是我发布这个问题的原因。但这只是我想在其他页面上重复使用的Quck Info部分的一个例子,这样我就可以在任何我想的地方点击它,只需执行getQuickInfo()
对于本例,该函数运行良好。我想要一个更好的方法来做这件事的建议,而且对于其他一些部分,它不会那么容易——它会有一些Mysql查询和从数据库中获取信息,我无法将其存储在echo中。
其他人是如何完成这样的事情的?
我的主要目标是能够在任何我想要的地方输出部分:
- getQuickInfo()
- getAdminNotes()
- getSupportRequests()
等等。
谢谢!
尽管我讨厌在模板中混合原始HTML和PHP代码,但我知道其他人不同意我的观点,这可能是一个有效的使用方法。
所以你可以创建一个看起来像这样的文件:
quickinfo.php
<div class="portlet">
<div class="portlet-header">
<h4>Quick Info</h4>
</div>
<div class="portlet-content">
<table cellspacing="0" class="info_table">
<tbody>
<tr>
<td class="value"><?php echo getCount("total_users"); ?></td>
<td class="full">Total Users</td>
</tr>
<tr>
<td class="value"><?php echo getCount("count_open_requests"); ?></td>
<td class="full">Open Support Requests</td>
</tr>
</tbody>
</table>
</div>
</div>
在你的主页上,你可以做:
include('quickinfo.php');
您可以很容易地将其调整为使用查询结果。您只需在主页面中执行查询,然后将结果分配给一个命名变量。然后在模板页面中,使用命名变量中的数据生成页面。这意味着您可以使用相同的代码根据不同的查询生成不同的结果,只要结果保存在同一个命名变量中即可。
如果您使用的是php5,您应该考虑使用php的面向对象支持。
http://php.net/manual/en/language.oop5.php
通过这种方式,您可以创建一个类,该类具有打印内容和保存值的方法,然后实例化该类并根据需要调用其方法。
我不是php大师,但也许你应该为这些部分中的每一个创建单独的.php文件(比如quickinfo.php
、adminnotes.php
等),把你的html布局放在里面,甚至可能你需要的php函数(或者你可以把它们放在一个单独的文件中,这取决于你需要的逻辑是否太复杂,如果它很简单,你可以把所有东西都放在同一个文件中)
然后,无论您想在哪里使用这些部分,都可以执行类似include('quickinfo.php')
的操作。