Что значит это отношение объектов? Копаясь в коде Opencart в самом начале вижу такие выражения:$registry = new Registry(); // Тут куча разного кода, потом: // Event $event = new Event($registry); $registry->set('event', $event); // То что тут происходит понятно // Loader $loader = new Loader($registry); $registry->set('load', $loader); // Здесь тоже Что значит когда объект registry передается в конструктор объектов event и loader и потом сам же принимает эти объекты в себя? Странно выглядит. Не совсем понятно для чего это сделано, для того чтобы объект loader имел доступ ко всему содержимому объекта registry в дальнейшем?
Это отношение объектов в коде Opencart называется инъекцией зависимостей (dependency injection). При использовании инъекции зависимостей объект registry передается в конструктор объектов event и loader для того, чтобы они могли работать с этим общим реестром данных.
Такой подход используется для упрощения кода и улучшения его читаемости, а также для уменьшения связанности между объектами. В данном случае объект registry служит контейнером, который содержит различные объекты и ресурсы, и передается в другие объекты для того, чтобы они могли использовать эти ресурсы при необходимости.
Таким образом, передача объекта registry в конструкторы объектов event и loader, а затем его сохранение в самом объекте registry позволяет создать централизованный доступ к различным ресурсам и обеспечить наличие одной точки управления для них.
Это отношение объектов в коде Opencart называется инъекцией зависимостей (dependency injection). При использовании инъекции зависимостей объект registry передается в конструктор объектов event и loader для того, чтобы они могли работать с этим общим реестром данных.
Такой подход используется для упрощения кода и улучшения его читаемости, а также для уменьшения связанности между объектами. В данном случае объект registry служит контейнером, который содержит различные объекты и ресурсы, и передается в другие объекты для того, чтобы они могли использовать эти ресурсы при необходимости.
Таким образом, передача объекта registry в конструкторы объектов event и loader, а затем его сохранение в самом объекте registry позволяет создать централизованный доступ к различным ресурсам и обеспечить наличие одной точки управления для них.