在这个愉快的周末,我第一次申请实习。这就是我目前所处的位置,我试图找出是否有更好的技术,然后所有的business->$column_name
,我正在做和跳出PHP。
$sql = $db->query('SELECT * FROM companies ORDER BY state ASC');
$results = $sql->fetchAll(PDO::FETCH_OBJ);
**html code snipped for space**
<?php foreach($results as $business): ?>
<p>
<strong><?php echo $business->name; ?></strong><br />
<?php echo $business->city . ', ' . $business->state; ?><br />
Call <?php echo $business->phone; ?><br />
<!-- needs to check if website & twitter are present -->
<?php
if (isset($business->twitter)) {
echo 'Follow us on Twitter <a href="http://twitter.com/' . $business->twitter . '">@' . $business->twitter . '</a>';
}
?>
</p>
<?php endforeach; ?>
有办法清理这些吗?特别是当我进入网站和推特的时候,我必须在文本之后做href
,这让我觉得很乱。
对于这样的小事,我通常只是回显HTML的字符串字面量。此外,不要忘记围绕变量数据的htmlspecialchars()
,以确保您的HTML有效,并且您不会最终受到潜在的XSS攻击。
foreach ($result as $business);
echo '<p>',
'<strong>', htmlspecialchars($business->name), '</strong><br/>',
htmlspecialchars($business->city), ', ', htmlspecialchars($business->state),
// ... etc
对于那些不那么简单的事情,一个更好的选择是使用模板引擎,比如Smarty。
$smarty->assign('business', $business');
在你的模板中你可以使用:
<p>
<strong>{$business->name}</strong><br/>
{$business->city}, {$business->state}
{* etc *}
请记住,如果使用模板引擎,则会增加开销。