gpt4 book ai didi

PHP 初学者 OOP 构建对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:28 26 4
gpt4 key购买 nike

在此先感谢您的帮助和指导。我终于从线性编程转向了面向对象编程。我正在上我的第一个类,我可以使用一个小方向。我的第一个类是具有以下属性的画廊

class Gallery
{
//Gallery Name
public $galleryID;
public $galleryName;

//Client Name
public $clientName;

//Gallery Options
public $bg_color;
public $albumAgreement;
public $maxChanges;
public $sharing_on;

//Revisions
public $revisions;
}

我的输出因此看起来像:
Gallery Object
(
[galleryID] =>
[galleryName] =>
[clientName] =>
[bg_color] =>
[albumAgreement] =>
[maxChanges] =>
[sharing_on] =>
[revisions] =>
)

我的下一步是我也想让“修订”成为一个对象,以便我的输出看起来像
Gallery Object
(
[galleryID] =>
[galleryName] =>
[clientName] =>
[bg_color] =>
[albumAgreement] =>
[maxChanges] =>
[sharing_on] =>
[revisions] => Revisions Object (
[revisionID] =>
[revisionName] =>
)
)

对于这样的事情,我应该朝什么方向发展,类(class)会是什么样子?

谢谢

最佳答案

好消息是 PHP 是动态类型的,因此您的代码几乎保持不变。初始化revisions时,只需将其初始化为Revisions对象的实例即可,如下所示

$gallery = new Gallery();
$gallery->revisions = new Revisions() // assuming you have defined the Revisions class

至于类应该是什么样子,根据你的 var_dump,是这样的:
class Revisions {
public $revisionID;
public $revisionName;

public function __construct($id, $name) {
$this->revisionID = $id;
$this->revisionName = $name;
}

// if required, define a default constructor as well that does not take any parameters

}

由于您的问题并不完全清楚 revisions 的作用,您可能想要创建一个 Revision 对象而不是 Revisions (不是复数),然后让 $gallery->revisions 成为 Revision 的数组。

关于PHP 初学者 OOP 构建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com