Назад към всички

Laravel

// Build robust Laravel apps avoiding Eloquent traps, queue failures, and auth pitfalls.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameLaravel
sluglaravel
version1.0.1
descriptionBuild robust Laravel apps avoiding Eloquent traps, queue failures, and auth pitfalls.
metadata[object Object]

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