360 Secure SkillHub
360 安全技能中心

Laravel

提供 Laravel 应用开发中的关键规则与主题参考,涵盖 Eloquent N+1、队列失败、认证授权、Blade XSS、控制器与 Artisan 命令等常见陷阱,帮助开发者避免错误并遵循最佳实践。

ivangdavila
ivangdavila
热度 64.79
最近更新 2026-05-11 15:57:58
分类:开发依赖:纯提示词应用场景:调试排错 / 代码审查

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add laravel
Metadata
name
Laravel
slug
laravel
version
1.0.1
description
Build robust Laravel apps avoiding Eloquent traps, queue failures, and auth pitfalls.
metadata
{"clawdbot":{"emoji":"🔴","requires":{"bins":["php","composer"]},"os":["linux","darwin","win32"]}}

Quick Reference

Topic File
N+1 queries, eager loading, accessors, observers eloquent.md
Validation, middleware order, dependency injection controllers.md
Job serialization, retries, failed jobs queues.md
Guards, policies, gates, Sanctum tokens auth.md
XSS escaping, components, slots blade.md
Commands, scheduling, tinker artisan.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