Use Real-Time Facades with the Facades Prefix

Punyapal Shah
Prefix any application class import with Facades\ to instantly treat it as a mockable Laravel Facade.

Creating explicit Facade classes for internal services adds boilerplate. Laravel's Real-Time Facades generate mockable facades on the fly by prefixing namespace imports with Facades\.

namespace App\Http\Controllers;

// Import class with Facades\ prefix for instant facade capabilities
use Facades\App\Services\PaymentGateway;

class CheckoutController
{
    public function store()
    {
        PaymentGateway::charge(100); // Executed as real-time facade
    }
}
  • Eliminates boilerplate dedicated Facade class files
  • Allows instant test mocking via PaymentGateway::shouldReceive()
  • Resolves underlying service class instance from container automatically
Tags: #Laravel #Facades #Testing
Share on X

// Found an issue or want to contribute a tip? github.com/MrPunyapal/tips