Задать вопрос
StaDi
@StaDi
Курьер в it отделе

Хотейки и вопросы по проектированию классов?

Всем дрям, я с новой порцией глупостей.

Пишу специфичный калькулятор и хочется, что бы всё было красиво, но вопрос на сколько это разумно, на сколько это сильно влияет на производительность и нужно ли это вообще . . .

1. Сейчас я обращаюсь к атрибуту класса так class->arr["name"], а хочется class->arr->name и это спокойно делается через магический метод __get, но что делать если у меня многомерный массив (class->arr->name["attr"])? Какую конструкцию использовать? Как лучше всё это упаковать, что бы потом так же красиво забрать от туда.

2. Как стоит поступить в таком случае:
У меня есть параметры материалов которые не меняются например материал и его габариты.
Лучше сделать массив с названием материала бревно(длина 3, ширина 5, высота 50) или лучше создавать отдельные массивы БревноДлина 3; БревноШирина 5; БревноВысота 50; и наверное стоит такие параметры вынести в отдельный ini-файл?

Спасибо!
  • Вопрос задан
  • 2329 просмотров
Подписаться 3 Оценить Комментировать
Решение пользователя Алексей Яхненко К ответам на вопрос (3)
1. не трогай свойства напрямую, используй методы.
$obj->getProperty($propertyName); //class->arr["name"]
$obj->getPropertyAttribute($propertyName, $attributeName); // class->arr->name["attr"]

если уж совсем невмоготу - сделай json_decode(json_encode($a)) - получишь объекты заместо массивов. но это патология.

2. лучше сделать массив с названием материала бревно(длина 3, ширина 5, высота 50).
разбирать потом названия вида БревноШиринаДверьСобакаТелеграф это обратно патология.

хранить данные в ини-файлах это сцуко оригинально, но лучше так не делать.
Ответ написан