2011-01-24 41 views
4

我已經做了幾個類來組織從數據庫中獲取的數據。它們是這樣的:PHP類代碼組織與數據庫的關係

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表持有的所有相關數據;我遇到的麻煩是如何在課堂上代表葡萄酒類別類型。在數據庫中,它被存儲爲一個數值,它與一個名爲_product_types的次表相關聯(即,1對應Red Wine_product_types)。最好是存儲類別的數字表示還是文本表示?(1對「紅葡萄酒「)。

在另一方面,是更好的做法是使用類之外的SQL查詢?

+0

你正在做什麼本質上是一個ORM - 你是否看過這個領域的一些現有解決方案,比如原則? – 2011-01-24 18:10:45

回答

1

我會去映射爲類的常量數值,例如

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; 
+0

是否有更簡單的方法來設置數據庫中類的常量,還是需要更新數據庫和類文件? – JakeTheSnake 2011-01-24 18:04:04