返回 Skill 列表
extension
分类: 开发与工程无需 API Key

laravel:nova:resource-patterns

一致的Nova资源——字段、操作、指标、视角、过滤器、授权——以及如何随着模式变更来演进资源

person作者: jakexiaohubgithub

Nova Resource Patterns

Build consistent Nova resources that mirror domain models and evolve safely.

Fields

  • Keep fields ordered: identifiers → primary attributes → relations → meta
  • Use ->sortable()/->filterable() where it delivers value
  • Hide sensitive fields (e.g., tokens) from index/detail unless necessary
  • Prefer BelongsTo/HasMany/Morph* relations with searchable constraints

Authorization

  • Use Nova policies mirroring model policies for viewAny, view, create, update, delete
  • Avoid leaking existence via unauthorized search; scope queries

Actions

  • Keep actions idempotent or provide safeguards
  • Provide confirmation messages and clear result feedback

Filters & Lenses

  • Filters: simple, commonly used constraints (status, owner, date range)
  • Lenses: opinionated, task‑centric views (e.g., stale items)

Metrics

  • Value/Trend/Partition metrics for essentials; cache appropriately
  • Use explicit time ranges; label units clearly

Resource Organization

  • Group resources by domain (navigation grouping)
  • Keep display titles meaningful; use title() consistently

Testing

  • Prefer feature tests that exercise policy + query scope + resource logic
  • For actions, test success and failure states with realistic seed data