- What is skylence/laravel-custom-fields used for?
- It lets administrators or tenants define fields on Eloquent models without shipping a migration for every change, and it includes Filament components for managing those definitions. The intended consumer is an internal admin panel or back-office tool rather than a public API surface. Fit depends on whether custom fields stay confined to admin CRUD and reporting or need to participate in domain queries and indexing.
- How do I install skylence/laravel-custom-fields in a Laravel app?
- The package is installed via Composer as skylence/laravel-custom-fields, then you publish its config and migrations and apply the provided trait to target models. Filament form and table components are registered for defining and rendering fields. Treat the repository README and composer.json as authoritative for exact artisan commands and constraints, and review the migrations before running them in an existing database.
- Does it support Filament v3 and Filament v4?
- The overview states Filament integration but does not publish a compatibility matrix. Filament v3 and v4 have materially different APIs, so a mismatch on the Filament major alone can invalidate the evaluation. Pin the exact Filament version in composer.json and test the package's form and table components in an isolated app before adopting it.
- Which Laravel and PHP versions does this package support?
- The package description does not state exact constraints, though the assessment presumes Laravel 10, 11, or 12 with PHP 8.1 or newer. Check the package's composer.json for the PHP floor, Laravel major, and Filament major rather than relying on the README. Confirm the published migrations are additive and reversible against your production schema.
- How are custom field values stored and queried?
- The overview does not disclose whether values are stored in a JSON column, a normalized EAV table, or a side table, and that single choice drives query characteristics. Ask how custom fields are filtered and sorted, especially in Filament list views where N+1 queries and full-table scans surface first. Read the migrations and trait before integrating so you understand the storage shape.
- Can custom field validation be enforced server-side without Filament?
- Dynamic field systems need validation enforced independently of the admin form, otherwise writes from seeders, imports, or APIs bypass the rules. The package description mentions configurable validation, but confirm that rules live in the model or a service layer rather than only in Filament components. Test by writing values outside Filament and verifying the invalid cases are rejected.
- What happens when a custom field definition is deleted or its type changes?
- The overview does not state whether stored values are cascaded, orphaned, or migrated when a field definition is deleted or its type changes. Check for a migration or backfill path and confirm how orphaned data is handled. This is a runtime data-integrity concern in any dynamic field system, so validate it before production use.
- Is skylence/laravel-custom-fields production-ready?
- The package currently shows zero stars, zero dependents, and no external production evidence, and the maintainer appears to be a single agency. Bus factor, issue responsiveness, and long-term Filament upgrade support are therefore unresolved. Treat it as suitable for internal admin tooling only after a source audit, test coverage review, and exact version pinning.
- Does it support multi-tenancy or per-model field scoping?
- Multi-tenancy and per-model field scoping are not described in the overview. Confirm whether field definitions can be scoped per tenant or per model and how authorization is applied to field management. Without that, a shared field table can leak definitions across tenants or models.
- What are alternatives to skylence/laravel-custom-fields for dynamic fields?
- Alternatives include hand-rolled JSON columns with validation, normalized EAV packages, and other Filament custom-fields plugins. The right choice depends on whether custom fields must participate in domain queries, indexing, or API contracts. If they are confined to admin CRUD and reporting, a simpler JSON-column approach may be lower risk than a young package.