界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

Laravel

Laravel

【效率与协作】Build robust Laravel apps avoiding Eloquent traps, queue failures, and auth pitfalls.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: Laravel slug: laravel version: 1.0.1 description: Build robust Laravel apps avoiding Eloquent traps, queue failures, and auth pitfalls. homepage: https://clawic.com/skills/laravel metadata: clawdbot: emoji: 🔴 requires: bins: - php - composer os: - linux - darwin - win32 displayName: Laravel

Quick Reference

TopicFile
N+1 queries, eager loading, accessors, observerseloquent.md
Validation, middleware order, dependency injectioncontrollers.md
Job serialization, retries, failed jobsqueues.md
Guards, policies, gates, Sanctum tokensauth.md
XSS escaping, components, slotsblade.md
Commands, scheduling, tinkerartisan.md

Critical Rules

  • Eager load relationships — with('posts') not lazy ->posts in loop (N+1)
  • preventLazyLoading() in dev AppServiceProvider — crashes on N+1, catches early
  • env() only in config files — returns null after config:cache
  • $fillable whitelist fields — $guarded = [] allows mass assignment attacks
  • find() returns null — use findOrFail() to avoid null checks
  • Job properties serialize models as ID — re-fetched on process, may be stale/deleted
  • route:cache requires controller routes — closures break cached routes
  • DB::transaction() doesn't catch exit/timeout — only exceptions roll back
  • RefreshDatabase uses transactions — faster than DatabaseMigrations
  • {!! $html !!} skips escaping — XSS vector, use {{ }} by default
  • Middleware order matters — earlier middleware wraps later execution
  • required validation passes empty string — use required|filled for content
  • firstOrCreate persists immediately — firstOrNew returns unsaved model
  • Route model binding uses id — override getRouteKeyName() for slug
我的收藏