这是一个比较理论的问题。我正在构建一个 MVC 数据驱动的应用程序。我的问题是将数据从数据库字段转换为可显示的数据。例如,我想将布尔值 1 或 0 转换为字符串“是”或“否”。我想将 firstName 字段和 lastName 字段转换为“FullName”字段。(即:“John”和“Smith”变为“Smith, John”)。我想将包含 user_id 的字段转换为指向详细信息页面的超链接. (即,将 17 的 user_id 转换为包含:userdetails.php?id=17 的链接)
我知道我可以在 SQL 查询中做到这一点。(SELECT CONCAT(lastName .", " .firstName) AS fullName)。我知道我可以为我需要的每种类型的列表编写一个对象,并在所述对象中手动进行转换。我知道我什至可以在视图级别使用助手来完成其中的一些操作。
但我在想的是一种类似于“数据转换对象”的东西。它将在构造函数中使用一组记录。然后它将有一个“转换对象”分配给将转换数据的每个字段。然后它将有一种方法将转换后的数据作为数组获取。
为什么要做这一切?嗯,一个原因是因为它似乎是很酷的面向对象设计。另一个原因是我们可以使用纯形式的数据,但我们可以轻松地将其转换为可显示的格式。
伪代码如下:
class yesNoTransform extends dataTransform {
public function ($field) {
if($field == true) {
return "TRUE";
} else {
return "FALSE"
}
}
public function transform (