質問: FuelPHPで開発をしているのですが、下のようなDBがあります。 ``` userテーブル id, service, service_id ``` --- ``` deliveryテーブル id, ... saleテーブル id, ... ``` userテーブルのserviceカラムには'delivery'や'sale'の文字列が入り、 service_idと各サービスのテーブルのidと紐づいています。 ここで質問なのですが、これらのテーブルに該当するModelはModel_Softを継承しています。 deliveryテーブルとsaleテーブルのようなserviceに該当するテーブルのみの 共通処理を書きたい場合、 serviceと言うModelを作成し、serviceモデルがModel_Softを継承し さらにserviceモデルをdeliveryやsaleが継承し、共通処理をserviceに書くと言うやり方は FuelPHPやFW的に考えた場合正しい設計になっていますでしょうか? ご存知の方がいらっしゃいましたら、教えてください。
回答: FW的に言うと、継承を使うこと自体に問題はありません 継承利用時一般にいえる注意として、LSPだけ気を付けた方がよいです なお、 * 子で共通の$_propertiesや$_observersをserviceに入れたい * かつ子は子で独自の$_propertiesや$_observersを追加で持ちたい といった場合、_init()でオートロード時にserviceとその子のプロパティをマージするといった工夫は必要となります