Сейчас проверил - последний phpDocumentor считывает все фишки PHP 7.4, вплоть до типизированных свойств. Так что дублирование этих данных совершенно бессмысленно.
Мой вопрос не про комментарии в клиентском коде, а именно про пхп-док блоки для классов и их членов, т.к. они почему-то часто считаются стандартом де-факто.
Максим Федоров, а если потом там будет другая реализация WriterInterface, с другими зависимостями? Этот метод не подходит, к сожалению. Похоже, я хочу от php-di то, чего он не умеет.
Я копнул: он определяет мой дефинишн как \DI\Definition\SelfResolvingDefinition и поэтому не передаёт ему при создании параметры, которые я отправляю в make. Если указываю реализацию или указываю в DI конфиге DI\create вместо DI\get, то передаёт, но во втором случае он не резолвит опять же зависимости...
Максим Федоров, дело в том, что я не могу просто юзать new в фабрике и тупо передавать параметр. У меня Writer, как видно из кода, имеет еще другие параметры в конструкторе, и хотелось бы чтобы они инжектились DI автоматически, без дополнительной конфигурации. В этом вся идея. Всё инжектится автоматически, а filePath берется из передаваемого массива параметров. Поэтому я и юзаю container->make:
the parameters provided will be used for the constructor of the object, and the missing parameters will be resolved from the container.
Но это не работает из-за того что я указываю интерфейс, а не реализацию методу make.
С фабрикой разбираюсь, но по-моему так как вы пишете это просто обертка над container->make()
Максим Федоров, мне нужно инстанциировать Writer по условию и с определенным параметром.
Клиентский код получает имя файла для райтера, и если всё ок, инстанциирует Writer с этим значением. Хардкодить значение нельзя ни в каком конфиге, оно принимается от юзера при запуске программы.
В конструкторе - потому что при инициализации райтера открывается на запись переданный в конструктор файл.
Но я не хочу использовать new. И фабрику я хочу использовать в другом объекте когда нужно, передавая на лету параметр filePath, а вашим способом всё будет контейнер резолвить заранее, то есть по надобности создавать объект и определять параметры не выйдет.
Мне надо не в скомпилированном чтоб группировалось, а в IDE, для удобства редактирования.
Есть просто стили CSS/LESS в перемешку, как попало - надо их автоматически упорядочить
Я не WP девелопер, не знаю, зачем что-то регистрировать. Ну вот моё меню называется main. Я добавил такую ерунду: register_nav_menu('main','main');
(непонятно, где тут вообще идентификатор меню указывать)