2017-04-06 100 views
1

例如查看下面的代码,它根据从数据库获取的状态返回链接。从PHP/Mysql函数返回HTML是否是一个好习惯?

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

这对 – clearshot66

+0

是完全正常的,检查ob_start()和其他相关函数,如果你想在代码执行中一次性显示一个完整的页面而不是所有的部分显示优化) – butterFlyNick

回答

3

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

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

+0

谢谢。博客也有非常有用的信息。 – IrfanAnwar

相关问题