与数据库相关的 PHP 类代码组织

标签 php class

我制作了几个类来组织从数据库中获取的数据。它们是这样的:

class.Product.php
class.WineProduct.php (extends Product)
class.ProductAward.php (included in Product, used as array item in Product->awards)
class.ProductReview.php (included in Product, used as array item in Product->reviews)
class.WineList.php (includes WineProduct, uses WineProduct as array item in WineList->items)

数据库有一个wines 表,其中包含所有相关数据;我遇到的麻烦是如何在类里面表示 Wine 类别类型。在数据库中,它存储为一个数值,该数值与名为 _product_types 的辅助表相关联(即,1 对应于 _product_types 上的 Red Wine) .存储类别的数字表示还是文本表示最好? (1 与“红酒”)。

另一方面,在类之外使用 SQL 查询是否更好?

最佳答案

我会将数值映射为类常量,例如

class Product {
    const RED_WINE = 1;
    const WHITE_WINE = 2;
    const BLUSH_WINE = 3;

    public $product_type;
}

$item = new WineProduct;
$item->product_type = product::RED_WINE;

关于与数据库相关的 PHP 类代码组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785213/

相关文章:

php - 如何使用 PHP 和 MySQL 从数据库检索数据并缩进返回的结果?

c++ - 如何组织更大的多类 GUI 项目?

c++ - 创建了一个双端队列类,但无法在我的二叉树类方法中声明

c++ - 如何将类中的函数放入线程中? (使用 Boost 的 C++)

php - jQuery 将变量从 PHP 传递到 MySQL

php - PDO Sphinx连接用户权限(SELINUX问题)

ios - Swift:将 CGSize 应用于 Button 类不改变

cocoa - 在 cocoa 中声明静态变量

php - 如何为 unicode 标题创建 unicode slug?

php - Lithium - 如何获取获取的行数?