我对如何构建模型感到很困惑,在过去的 9 个月里我都无法理解这一点。尽管我正在阅读和观看所有参考资料,@teresko 还是给了我。
为了进一步缩小我的问题,我将举例说明我以前是如何做到的。
假设我有一个具有姓氏的student
实体student_number
first_name,
然后我将创建我所谓的model
, (我的教授也这样做了,但我知道这是完全错误的)。我不知道我的教授是否知道价值对象,但我知道。
private $student_number;
private $first_name;
private $last_name;
public function setStudentNumber($sn) {$this->student_number = $sn}
public function getStudentNumber() {return $this->student_number}
... and so on for other properties
如果我是正确的,这个 setter 和 getter 被归类为值对象模式,可以这样使用:
$s = new Student();
$s->setStudentNumber(143);
$s->setFirstName('FooName');
$s->setLastName('BarName');
并将其传递给一个数据访问对象(StudentDAO),如下所示:
$sDao = new StudentDAO($s);
$sDao->add();
DAO 在哪里扩展了数据库类,所以我可以做 CRUD 例如。
问题是,好吧,我很确定我会在这里受到很多责骂,因为我错过了太多原则,但那些是什么?如何创建我的模型?谢谢!好吧,我知道很多答案会告诉我 DataMappers、工厂和东西,我不太了解。