【问题标题】:Is it a good practice to return HTML from Php/Mysql function?从 Php/Mysql 函数返回 HTML 是一种好习惯吗?
【发布时间】:2023-04-05 17:59:02
【问题描述】:

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

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

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

【问题讨论】:

  • 完全没问题
  • 没关系,如果想一次性显示一整页而不是沿着代码执行的所有部分逐个显示,检查ob_start()等相关函数(显示优化)

标签: php mysql templates coding-style


【解决方案1】:

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

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

【讨论】:

  • 谢谢。该博客也有非常有用的信息。
猜你喜欢
  • 2017-12-09
  • 1970-01-01
  • 2017-10-11
  • 2015-02-18
  • 2012-05-07
  • 1970-01-01
  • 2023-02-15
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多