Насколько сильно это нарушает ООП? Создание свойства снаружи? В общем есть экшен, которому после создания нужно передать его ID.
В принципе, можно было бы через конструктор, но я изначально решил что все экшены будут изолированны от логики движка. Да и в каждый класс дописывать одинаковый конструктор тупо как-то.$controller = new SomeAction();
$controller->actionId = $actionId;
Еще вопрос сильно ли много эта операция(создание свойства) ест памяти?
Или проще сделать отдельный регистр с массивом соответствий "название - ID", а искать ID уже внутри объекта по static::class

21 Авг 2019 в 07:01
216 +1
0
Ответы
1

Создание свойства снаружи объекта не является нарушением основных принципов объектно-ориентированного программирования (ООП), но может нарушать принцип инкапсуляции, так как свойство становится доступным извне без контроля объекта. Это может привести к непредсказуемым последствиям и усложнить отслеживание состояния объекта.

С точки зрения памяти, создание нового свойства не должно сильно повлиять на объем потребляемой памяти. Однако, если создавать много объектов с различными свойствами, это может привести к накоплению лишней памяти.

Более правильным подходом может быть использование отдельного реестра (реестра действий или соответствий "название - ID") для хранения соответствий и поиска ID внутри объекта по имени действия. Это позволит избежать нарушения инкапсуляции и обеспечить более удобное и эффективное управление действиями объекта.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир