我主要是一个OOP新手,我正在CodeIgniter中摆弄一个非常基本的ORM(可能是为了将来的使用 - 现在主要用于学习)。
此时我有一个名为ORM的大类,我的模型扩展了。因此,小部件模型将具有get()(基本上获取'widgets'表中的所有行)和get_with_related()等方法。
我想将这个课分成几个较小的课。也许如果我有一个基础ORM类,一个'读者'类(有get()等),一个'writer'类(可能有update(),save()等),也许是公用事业班。
实现这一目标的最佳方法是什么?我应该在基本ORM类的构造函数中包含并实例化reader和writer类,并像这样使用它吗?
$widgets = new Widgets();
$all_widgets = $widgets->reader->get();
$widgets->writer->update('description', 'here is a new description', 357);
是否有一个术语我可以谷歌找出组织这样的课程的方式?
答案 0 :(得分:1)
我对Codeigniter没有任何了解,但我认为没有必要将其分解为单独的读/写类。实际上,在这个实例中可能实际上是坏实践,因为在OOP中,模型应该代表单个实体。你应该谷歌DAL(数据库抽象层)。如果有一个Widgets模型,那么同时拥有getter和setter是完全可以的。我的观点是,在你的情况下,它可能不是最好的练习,只是简单地分成较小的类。这应该始终是目的驱动的。