PHP-DI: Имеет ли какое-либо значение, в каком порядке файлы определений загружаются в контейнер?

#php-di

#php-di

Вопрос:

Я планирую иметь много файлов определений (например, файлов конфигурации) в отдельных каталогах и многоуровневых подкаталогах. Предположим, что эти файлы будут содержать, так сказать, много сложных ситуаций определения.

Итак, я хотел бы спросить: имеет ли КАКОЕ-ЛИБО значение, в каком порядке файлы определений загружаются в контейнер?

Примечание: определения, найденные в файлах конфигурации, соответствующих определенной среде приложения (например, ‘prod’, ‘dev’ и т. Д.), Всегда будут переопределять «обычные» определения. Итак, это не должно иметь значения для возможного ответа.

Спасибо.

Ответ №1:

Да, порядок имеет значение, поскольку это составляет основу для «модульной» системы в PHP-DI.

См http://php-di.org/doc/definition-overriding.html чтобы понять, как определения могут расширять и переопределять друг друга.

Комментарии:

1. Привет, Матье, и спасибо. Я снова прочитал ваш ответ и ссылку. Как-то теперь я могу спросить лучше, если позволите ?… Предположим, что ситуация с объектами никогда не возникнет в моем коде, и будет интересна только ситуация с массивами . Что произойдет, если я сначала загружу страницу конфигурации .php, содержащую только второе определение (с DIadd(...) ), и только после этого я загружу другую страницу, содержащую первый фрагмент кода?

2. Имеет ли значение порядок загрузки страниц в контейнер? И, в отличие от предыдущего комментария: что произойдет, если страница с string({myvar}) ссылкой на нее будет загружена перед страницей, содержащей определение myvar в ней? Тогда имеет ли значение порядок загрузки? Спасибо.