Where to Register Macros

  • AppServiceProvider — in the boot() method for application-level macros
  • A dedicated service provider for package macros
  • Mixins for grouping related macros together
  • In tests — via a trait for per-test macros, or in a provider guarded by an environment check
<?php

namespace App\Providers;

use Illuminate\Support\Facades\Response;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Response::macro('caps', function ($value) {
            return Response::make(strtoupper($value));
        });
    }
}

← / → navigate · N notes · Esc exit