例如,看看下面的代码,它根据从数据库获得的状态返回链接。
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;
}
我想问是否可以这样做,或者我必须返回事态并让模板处理其余的。
拆分逻辑并查看代码的不同部分要好得多。如果您只是从函数返回数据,则可以灵活地在其他地方、不同的视图等中使用此函数。
划分职责是良好可维护代码的主要原则之一。您可以在此处阅读更多相关信息