例如,看看下面的代码,它根据从数据库获得的状态返回链接。
function favourite_store_link ($store_id, $user_id)
{
(string) $display_output = null;
if ($user_id)
{
$is_favourite = $this->count_rows('favourite_stores', "WHERE store_id='" . $store_id . "' AND user_id='" . $user_id . "'");
$fav_store = ($is_favourite) ? 'remove' : 'add';
$fav_store_msg = ($is_favourite) ? MSG_ADD_TO_FAVOURITE_STORES : MSG_REMOVE_FROM_FAVOURITE_STORES;
$display_output = ' [ <a href="' . process_link('shop', array('user_id' => $store_id, 'fav_store' => $fav_store)) . '">' . $fav_store_msg . '</a> ]';
}
return $display_output;
}
我想询问是否可以这样做,或者我必须返回事务状态并让模板处理剩下的事情。
答案 0 :(得分:3)
将逻辑和视图拆分为不同的代码部分要好得多。 如果您只是从函数返回数据,您可以灵活地在其他地方,不同的视图等中使用此函数。
划分责任是良好可维护代码的主要原则之一。您可以阅读更多相关信息here