Рекомендация по созданию класса PHP - PullRequest
1 голос
/ 13 января 2011

Я только наполовину знаком с OO PHP.Я уже делал несколько простых классов и использовал много загруженных, но хотел бы сделать один правильно один раз и надеюсь, что некоторые рекомендации касаются или того, как сделать это лучше, или какие ресурсы / учебные пособия проконсультировать, чтобы получить мою голову должным образомобернутый вокруг него.

Я начну с фона того, что я хочу сделать.

Я создаю программу, которая принимает загруженный пользователем файл (файл 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?Или я должен создать какую-то другую форму объекта для хранения данных перед их передачей?Я догадываюсь, что это правильно, и в этом смысл ООП, но я в растерянности.Это я что-то продлил?Я привыкаю к ​​объектам JS, использующим JSON, но все еще не уверен на 100%, как лучше их использовать.

Могу ли я создать какой-то подкласс?Как это будет работать?$ thisItem = $ image-> addItem (Bike);$ thisItem-> amount (5);

А потом в основном классе что-то вроде

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

Я уверен, что последний бит все не так, но вот почему я здесь,Буду признателен за любую помощь или направление.

Приветствия, M

1 Ответ

0 голосов
/ 13 января 2011

Я рекомендую вам строить свои классы в соответствии с тем, что принципалы думают о каждом объекте, что он может делать (методы), что определяет его (свойства).и как вы инициализируете их данными (строитель).

...