#php
#php
Вопрос:
Я создаю небольшое программное обеспечение на PHP, которое для запуска должно создать экземпляр группы классов, например, так:
$database = new Database; //handle some kind of CRUD
$someFunctions = new SomeFunction($database); //injecting the CRUD
$someMoreFunctions = new SomeMoreFunctions($database, someFunctions);
$evenMoreFunctions = new EvenMoreFunctions($database);
$app = new AppManager($someFunctions, someMoreFunctions, evenMoreFunctions);
.............
$app->oneFunction()->doSomething->doSomeMore(); //working with the app
В конечном итоге мне придется поместить все экземпляры классов в отдельный файл или класс для включения или создания экземпляра. Цель состоит в том, чтобы сделать все создание экземпляра прозрачным для разработчика, использующего приложение.
Я думаю, что лучшим способом было бы, чтобы пользователь просто должен был сделать что-то вроде этого:
$app = App::oneFunction($maybeARecordId);
$app->doSomething();
$app->doSomeMore();
$app->maybeASaveFunction();
Существуют ли какие-либо рекомендации по тому, как это сделать?
Спасибо.
Комментарии:
1. Термин, который вы ищете, называется «Контейнер для внедрения зависимостей» или DIC. Он будет использовать установленные привязки для создания экземпляров для вас.
2. Спасибо. Эта концепция для меня нова, мне нужно будет прочитать о ней.