==== Use a contextual binding in the service container to inject different implementations of the same interface into different classes. For example, in a service provider’s `register()` method you can do: ```php $this->app->when(ReportController::class) ->needs(DataExporter::class) ->give(CsvExporter::class); $this->app->when(BackupController::class) ->needs(DataExporter::class) ->give(ZipExporter::class); ``` Now both controllers type‐hint `DataExporter` in their constructors, but get completely different concrete exporters—making your code far more flexible and testable.