laravel:ports-and-adapters

Define PHP interfaces and adapter implementations to isolate Laravel external services.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2 --skill laravel-ports-and-adapters-patkik
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: laravel:ports-and-adapters
Source: https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2/tree/main/.agents/skills/ports-and-adapters
Command: npx skills add https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2 --skill laravel-ports-and-adapters-patkik

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Abstract integrations behind stable interfaces. Keep vendor SDKs out of your domain code.

Core Features & Use Cases

  • Ports: PHP interfaces that express only what the app needs
  • Adapters: provider-specific implementations wrapping SDKs
  • Selection: configure at runtime to pick the appropriate adapter

Quick Start

Configure a provider adapter and swap implementations via config.

Frequently Asked Questions about laravel:ports-and-adapters

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I isolate external service SDKs from Laravel domain logic?

To isolate external service SDKs from Laravel domain logic, define ports as PHP interfaces and adapters that wrap vendor SDKs. This hexagonal architecture keeps external dependencies out of your core domain code.

What is the hexagonal architecture pattern in Laravel?

Hexagonal architecture in Laravel uses ports and adapters to separate domain logic from infrastructure. Ports are interfaces expressing application needs, while adapters are provider-specific implementations wrapping external SDKs.

How do I swap external service providers at runtime in Laravel?

Swap external service providers at runtime in Laravel by using composition to select adapters via configuration. Define ports as interfaces, implement provider-specific adapters, and switch implementations through config settings.

When do I need ports and adapters in a PHP Laravel project?

You need ports and adapters in a PHP Laravel project when requiring interchangeable providers and clean separation between domain and infrastructure. This pattern abstracts integrations behind stable interfaces to keep vendor SDKs out of domain code.

Does this approach require specific dependencies to implement Laravel ports and adapters?

No specific dependencies are required to implement Laravel ports and adapters. The pattern relies on native PHP interfaces for ports and composition for adapter selection, keeping vendor SDKs isolated within infrastructure adapters.