When To Use Facades: Facades Vs. Dependency Injection

Facades Vs. Dependency Injection

Use Illuminate\Support\Facades\Cache;

Route::get('/cache', function () {
    return Cache::get('key');
});
Use Illuminate\Support\Facades\Cache;

/**
 * A basic functional test example.
 *
 * @return void
 */
public function testBasicExample()
{
    Cache::shouldReceive('get')
         ->with('key')
         ->andReturn('value');

    $this->visit('/cache')
         ->see('value');
}

Since facades use dynamic methods to proxy method calls to objects resolved from the service container, we actually can test facades just as we would test an injected class instance.

When To Use Facades: Facades Vs. Dependency Injection — Structure map

Clickable & Draggable!

When To Use Facades: Facades Vs. Dependency Injection — Related pages: