UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
生産性・共同作業 · SKILL.md

laravel-architecture

laravel-architecture

Enforce core architectural standards for scalable Laravel applications. Use when structuring controllers, service layers, action classes, Form Requests, or Service Container bindings in Laravel projects.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: laravel-architecture description: Enforce core architectural standards for scalable Laravel applications. Use when structuring controllers, service layers, action classes, Form Requests, or Service Container bindings in Laravel projects. metadata: triggers: files: - 'app/Http/Controllers/**/.php' - 'routes/.php' keywords: - controller - service - action - request - container

Laravel Architecture

Priority: P0 (CRITICAL)

Structure

See project structure for recommended directory layout.

Workflow

  1. Create Form Request for validation (php artisan make:request StoreUserRequest).
  2. Create Action class with single handle() method for use case.
  3. Inject Action into controller via constructor DI.
  4. Bind interfaces in AppServiceProvider for swappable implementations.

Controller Pattern

See implementation examples for slim controller, action class, and service container binding patterns.

Validation

  • Use Form Requests with authorize() and rules() methods.
  • Call $request->validated() in controller for mass assignment.
  • Never use inline $request->validate().

Anti-Patterns

  • No logic in Controllers: Move to Services or Action classes.
  • No manual instantiation: Use Service Container via DI.
  • No inline $request->validate(): Favor Form Request classes.
  • No excessive global helpers: Use class-based logic instead.

References

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • No logic in

  • Additional task-grounded exact anchors: handle()

保存したスキル