从Php / Mysql函数返回HTML是一个好习惯吗?

时间:2017-04-06 15:09:30

标签: php mysql templates coding-style

例如,看看下面的代码,它根据从数据库获得的状态返回链接。

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;
    }

我想询问是否可以这样做,或者我必须返回事务状态并让模板处理剩下的事情。

1 个答案:

答案 0 :(得分:3)

将逻辑和视图拆分为不同的代码部分要好得多。 如果您只是从函数返回数据,您可以灵活地在其他地方,不同的视图等中使用此函数。

划分责任是良好可维护代码的主要原则之一。您可以阅读更多相关信息here