Управление зависимостями в программном коде – слишком огромная тема, чтобы ее можно было осветить в рамках одной статьи. Здесь можно очень много говорить и бесконечно теоретизировать. Я постараюсь не скатиться до очередного урока по основам ООП, но постараюсь в основном здесь изложить мой (и наш, как команды) опыт, связанный с применением ООП, который, так или иначе, связан с управлением зависимостями. Я также коснусь достаточно кратко так называемых IoC (Inversion of Control) контейнеров – как попытку внести в мир PHP решений из Java, попытку, пока не слишком удачную.