2011-01-24 10 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という2次表に結び付けられた数値として格納されています(つまり、1はに対応し、_product_types)に対応します)。カテゴリまたはテキスト表現の数値表現を保存するのが最善ですか(1 vs "Red Wineあなたが作っている私はクラス定数としてマッピングされた数値となるだろう別のノートオン「)。

、それはクラスの外でSQLクエリを使用するより良い練習ですか?

+0

本質的にORMです - このスペースの既存のソリューションのいくつかを見てきましたか?教義? –

答えて

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