- What is dimonka2/flatform used for in Laravel?
- Flatform is a Laravel package for rendering HTML components and building dynamic forms and data-driven admin screens. It provides reusable fields, a Blade-style @form directive, and an embedded Livewire Table component. It is aimed at reducing boilerplate and speeding up back-office and CRUD-style development.
- How do I install dimonka2/flatform with Composer?
- Install it with Composer by requiring dimonka2/flatform in your Laravel project. Because the package is at 0.3.0, pin the exact working version in composer.json rather than using a loose constraint. If you plan to use the Livewire Table component, make sure Livewire is installed and compatible with the package's constraints.
- Does Flatform support Livewire 3?
- Flatform includes an embedded Livewire Table component, so it is tied to a specific Livewire major version. The provided release notes do not state whether Livewire v2 or v3 is supported, so check the composer.json constraints and test the Table component against your installed Livewire version. Livewire 3 lifecycle changes broke many v2-era components, so verify before adopting.
- What PHP and Laravel versions does Flatform require?
- PHP 8 support was added to the package's composer.json, but a widened constraint often means tested on PHP 8 rather than PHP 8 being the new minimum. Confirm whether PHP 7.4 is still supported and check the Laravel version constraints in composer.json. The package is pre-1.0, so version requirements can change between minor releases.
- How does the @form Blade directive work in Flatform?
- The @form directive is a Blade compiler extension that renders forms from Flatform configuration, letting you define fields and components without repeating markup. Scalar rendering now outputs values directly, for example @form([123]) renders 123, so review HTML escaping and whitespace in rendered output. Diff a representative set of forms when upgrading.
- Does Flatform replace laravelcollective/html?
- Yes, version 0.3.0 removed laravelcollective/html in favor of Flatform's own rendering path. Any application that depended on laravelcollective/html transitively will lose it on upgrade, so explicitly require it in your root composer.json if you still need it. Otherwise, migrate Form macros and facade usage to Flatform equivalents deliberately.
- Is dimonka2/flatform stable enough for production use?
- Flatform is at 0.3.0, which is pre-1.0 and carries no semver stability guarantee. Breaking changes can appear in minor releases, and the removal of laravelcollective/html is a substantive breaking change even under 0.x versioning. Use it in production only with exact version pinning and HTML diff testing of your forms.
- How should I upgrade Flatform from an earlier 0.x version?
- Treat the upgrade as a minor release with a hidden breaking change rather than a routine update. Upgrade in a branch, run composer why laravelcollective/html to find direct and transitive consumers, and explicitly re-require it if anything still needs it. Then migrate form macros to Flatform equivalents and diff rendered HTML before merging.
- Can I use Flatform with Inertia.js or an API-only Laravel backend?
- No, Flatform is a view-layer package built around Blade and Livewire. The @form directive is a Blade compiler extension and the Table component is Livewire-based, so Inertia, Vue, React, and API-only backends get no value from it. It is best suited to Laravel applications using Blade and Livewire on PHP 8.
- Are there alternatives to Flatform for dynamic Laravel forms?
- Alternatives include laravelcollective/html for traditional form macros, Livewire's own form objects, and Filament or Nova for full admin panels. Flatform's differentiator is its configuration-first rendering of reusable fields and its lightweight Blade directive. Evaluate whether you need a full admin framework or just a form-rendering helper before adopting a pre-1.0 package.