Use interfaces and dependency injection to decouple code; bind implementations in the container
Scanned 6/6/2026
Install via CLI
openskills install jpcaparas/superpowers-laravel---
name: laravel:interfaces-and-di
description: Use interfaces and dependency injection to decouple code; bind implementations in the container
---
# Interfaces and Dependency Injection
Define narrow interfaces and inject them where needed. Bind concrete implementations in a service provider.
```php
interface Slugger { public function slug(string $s): string; }
final class AsciiSlugger implements Slugger {
public function slug(string $s): string { /* ... */ }
}
$this->app->bind(Slugger::class, AsciiSlugger::class);
```
Benefits: easier testing (mock interfaces), clearer contracts, swap implementations without touching consumers.
No comments yet. Be the first to comment!