【问题标题】:Recommendation on building a PHP Class关于构建 PHP 类的建议
【发布时间】:2011-01-12 21:41:04
【问题描述】:

我对 OO PHP 只熟悉一半。我以前做过一些简单的课程,并使用了许多下载的课程,但想一次正确地制作一个,并希望获得一些关于如何做到最好的reco,或者咨询哪些资源/教程以正确理解环绕它。

我将从背景开始介绍我想做什么。

我正在构建一个程序,该程序采用用户上传的文件(一个 Excel 文件),其中包含一个列表和各种值。它看起来像这样:

Item, person1, person2, person3
Car, 1, 3, 4
Bike, 5, 0, 1

现在,课程的主要部分用于为每个人创建一个图形,显示他们拥有多少辆自行车和汽车(可能还有更多物品)。所以我用一些函数创建了一个类来指定背景图像、大小等......我认为这很简单。

我想做的是找出将数据传递给该类的最佳方法,以便它可以有效地制作我的图形。我是否应该使用一些 excel 文件读取类读取 excel 文件中的数据并执行以下操作:

foreach column {
    foreach row {
        $data[$vehiclename] = $columnVehicleCount;
    }
    $image = new MyClassName;
    $image->loadData($data);
    ...
}

然后在我的班级中,我只是遍历 $data 的键值对?或者我应该在传递数据之前创建一些其他对象形式来存储数据?我的直觉是,这是正确的做法,也是 OOP 的重点,但这是我不知所措的地方。这是我扩展的东西吗?我已经习惯了使用 JSON 的 JS 对象,但仍然不能 100% 确定使用它们的最佳方式。

我会创建某种子类吗?它将如何运作? $thisItem = $image->addItem(自行车); $thisItem->数量(5);

然后在主类中类似

foreach($this->items as $item) {
    draw($item->name);
    resize($item->quantity)
}

我确定最后一点都是错误的,但这就是我在这里的原因。任何帮助或指导将不胜感激。

干杯, M

【问题讨论】:

    标签: php oop class object class-design


    【解决方案1】:

    我建议您根据 oo 原则构建您的课程 想想每个对象,他能做什么(方法)什么定义了他(属性)

    然后考虑如何创建对象(工厂),以及如何使用数据(构建器)初始化它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2011-07-16
      • 2016-07-10
      • 2012-04-22
      • 1970-01-01
      • 2012-09-02
      • 2019-03-22
      • 2017-01-20
      相关资源
      最近更新 更多