Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一对两个相关信息对象_Php_Oop - Fatal编程技术网

Php 一对两个相关信息对象

Php 一对两个相关信息对象,php,oop,Php,Oop,当有两个相关对象时,最好将它们作为一个对象还是两个单独的对象 例如,如果您有一个艺术家对象和一组与单个艺术家相关的相册对象 <?php // two separate objects? $artist = $ArtistDataMapper->find(1); $album = $AlbumDataMapper->allByArtist($artist->id); // or one $artist = $AristDataMapper->find(1); //

当有两个相关对象时,最好将它们作为一个对象还是两个单独的对象

例如,如果您有一个艺术家对象和一组与单个艺术家相关的相册对象

<?php 
// two separate objects?
$artist = $ArtistDataMapper->find(1);
$album = $AlbumDataMapper->allByArtist($artist->id);
// or one
$artist = $AristDataMapper->find(1);  //datamapper will also include query for albums

这取决于你的目的是什么。 但是,如果您将其视为物理实体,您可能最终会想到对不同实体的“引用”。 我的意思是,你可能有: *艺术家对象(id、姓名、出生日期等) *相册对象(id、artistId、名称等)

最终,您可能希望在这两个对象之间甚至有Discography对象


无论如何,这取决于你和你的要求。

这取决于你的目的是什么。 但是,如果您将其视为物理实体,您可能最终会想到对不同实体的“引用”。 我的意思是,你可能有: *艺术家对象(id、姓名、出生日期等) *相册对象(id、artistId、名称等)

最终,您可能希望在这两个对象之间甚至有Discography对象


无论如何,这取决于您和您的需求。

类和对象是抽象的。在定义它们时,程序设计者试图将代码的各个部分分离成在相应上下文中有意义的逻辑实体。面向对象编程的关键概念(面向对象的设计是
抽象
封装
继承
,我建议您学习。其他需要学习的主题是,,,原则。可能其中一些很复杂,但有些很简单。例如
S
from SOLID代表单一责任。这个原则建议t一个类应该只有一个目的,并且只定义一种类型的对象。在您的情况下,艺术家是一个不同于专辑的逻辑实体。艺术家制作专辑,这表示它们之间存在关系,但它们并不完全相同。艺术家可以做除专辑之外的其他事情,如音乐会或采访,以及lbum也可以由艺术家组或其他实体生成,并且通常具有不同于艺术家的属性。

类和对象是抽象的。定义它们时,程序设计师尝试将代码的各个部分分离为在各自上下文中有意义的逻辑实体。执行此操作时的关键概念哎呀(面向对象的设计是
抽象
封装
继承
,我建议您学习。其他需要学习的主题是,,,原则。可能其中一些很复杂,但有些很简单。例如
S
from SOLID代表单一责任。这个原则建议t一个类应该只有一个目的,并且只定义一种类型的对象。在您的情况下,艺术家是一个不同于专辑的逻辑实体。艺术家制作专辑,这表示它们之间存在关系,但它们并不完全相同。艺术家可以做除专辑之外的其他事情,如音乐会或采访,以及lbum也可以由艺术家团体或其他实体制作,通常具有不同于艺术家的属性。

这完全取决于您的需求。将编程视为“如何最好地存储数据”只是编程的一种方式。另一种编程方式是“如何最好地处理数据”。这完全取决于您的要求。将编程视为“如何最好地存储数据”只是编程的一种方式。另一种编程方式是“如何最好地处理数据”。感谢您的输入。我将阅读您的一些建议。感谢您的输入。我将阅读您的一些建议。