gpt4 book ai didi

PHP 使用对象而不是数组

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

当我开始学习 OOP 编程时,我读到一切都是对象。大多数时间我都是用 PHP 开发的。数组在这里起着重要的作用。在大多数情况下,在像 C# 这样的语言中,您确实必须使用和传递对象而不是数组。

例如:

Class Product
{
private $data = array();

public function __construct()
{
$this->data['setting_1'] = 'a';
$this->data['setting_2'] = 'b';
$this->data['setting_3'] = 'c';
$this->data['setting_4'] = 'd';
$this->data['setting_5'] = 'e';

}
}

当您使用 PHP 时,为所有内容创建类是否有意义?例如:

Class Product
{
private $setting_1, $setting_2, $setting_3, $setting_4, $setting_5;
}

然后在另一个类(例如模型)中实例化类产品并返回对象而不是数组(例如给 Controller )​​?

最佳答案

答案很简单。

Everything is an object

只是一个理想。

在大多数现实世界的 OOP 语言中,也有简单的数据类型。即使在 Java 或 CSharp 中。在 PHP 中甚至有一个数组作为复杂的非对象数据类型。你不应该担心使用它,当然也在 OOP 上下文中。

请注意,拥有强大 数组数据类型利大于弊。在我看来,PHP 最缺乏的 OOP 特性是多态性,顺便说一句。


不过,PHP5引入了一套iteratorsdata structures ,在所谓的 Standard PHP Library (SPL) 扩展中,它是 PHP 核心发行版的一部分。您可以查看它们,但在大多数情况下,数组数据类型应该运行良好(并且性能良好)。

关于PHP 使用对象而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17220622/

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