Хотейки и вопросы по проектированию классов? Всем дрям, я с новой порцией глупостей. Пишу специфичный калькулятор и хочется, что бы всё было красиво, но вопрос на сколько это разумно, на сколько это сильно влияет на производительность и нужно ли это вообще . . . 1. Сейчас я обращаюсь к атрибуту класса так class->arr["name"], а хочется class->arr->name и это спокойно делается через магический метод __get, но что делать если у меня многомерный массив (class->arr->name["attr"])? Какую конструкцию использовать? Как лучше всё это упаковать, что бы потом так же красиво забрать от туда. 2. Как стоит поступить в таком случае: У меня есть параметры материалов которые не меняются например материал и его габариты. Лучше сделать массив с названием материала бревно(длина 3, ширина 5, высота 50) или лучше создавать отдельные массивы БревноДлина 3; БревноШирина 5; БревноВысота 50; и наверное стоит такие параметры вынести в отдельный ini-файл? Спасибо!
Для работы с многомерными массивами в классах вы можете использовать простой способ - обращаться к элементам массива поочередно, например: $class->arr->name["attr"]. Если у вас сложная структура многомерных массивов, то можно использовать цепочку вызовов, например: $class->arr->name->attr. В этом случае вам нужно будет реализовать соответствующие магические методы get и isset в классе, чтобы обеспечить корректную работу.
В отношении параметров материалов, лучше всего использовать массив с названием материала и его параметрами (например, массив "Бревно" с параметрами "длина", "ширина" и "высота"). Это позволит вам легко манипулировать материалами, добавлять новые и изменять их параметры. Вы также можете вынести параметры материалов в отдельный ini-файл, чтобы было удобнее их управлять и изменять без изменения исходного кода.
Для работы с многомерными массивами в классах вы можете использовать простой способ - обращаться к элементам массива поочередно, например: $class->arr->name["attr"]. Если у вас сложная структура многомерных массивов, то можно использовать цепочку вызовов, например: $class->arr->name->attr. В этом случае вам нужно будет реализовать соответствующие магические методы get и isset в классе, чтобы обеспечить корректную работу.
В отношении параметров материалов, лучше всего использовать массив с названием материала и его параметрами (например, массив "Бревно" с параметрами "длина", "ширина" и "высота"). Это позволит вам легко манипулировать материалами, добавлять новые и изменять их параметры. Вы также можете вынести параметры материалов в отдельный ini-файл, чтобы было удобнее их управлять и изменять без изменения исходного кода.