В методе set() передача $className строкой не всегда удобна,т.к. у класса в конструкторе может быть произвольное количество аргументов. И в данном примере контейнера, в случае необходимости передачи элемента 'test' в конструктор какого либо другого класса, у элемента test во время передачи запустится конструктор, а это действие я как раз и хочу отложить при помощи контейнера.
в случае если я буду передавать в класс экземпляр класса, то там понятно что конструктор сработает. я хочу понять как можно передать вместо экземпляра класса, ссылку на него в контейнер, но что бы в момент передачи, не запускался конструктор у элемента контейнера.как то так
Да, уже находил сегодня эти гайды, и мне показалось что примерно то что я искал, это есть класс Reference(), который используется в тамошнем ServiceContainer. Правда ещё не совсем разобрался так ли это, и вообще не хотелось бы тянуть модули симфони ради этой задачи.
Нет, к сожалению такой вариант не подойдёт, т.к. нужна ленивая инициализация, и передавать в аргументе название класса мне кажется менее удобным, чем экземпляр класса