Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Flatform Laravel Package

dimonka2/flatform

Flatform is a Laravel package for building dynamic forms and data-driven admin screens with a flexible, configuration-first approach. It provides reusable fields and components to reduce boilerplate and speed up back-office development in Laravel applications.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with composer require <vendor>/<package> and confirm your environment meets the new PHP 8 requirement. If you are still on PHP 7.x, upgrade first.
  • Look first at the package service provider and any publishable config (php artisan vendor:publish). The config will tell you which Blade directives/components are registered and whether views can be overridden.
  • Check composer.json for the flatform dependency. The 0.3.0 release removed laravelcollective/html, so any old Html/Form facade usage should be replaced with Flatform equivalents or the package’s own rendering layer.
  • Fastest first use case: render a scalar value in a Blade view with @form([123]). This confirms the directive is registered and rendering works before wiring up real form fields or Livewire tables.
  • Next, try a simple form with a small array or model binding, then move to a Livewire Table component if you need tabular data.

Implementation Patterns

  • Use the @form(...) directive as the primary rendering entry point. For real forms, pass a field definition array or bound model; for one-off scalar text, pass a scalar array such as @form([123]).
  • Since 0.3.0 supports scalar elements, @form(['heading']), @form([123]), and similar calls are useful for labels, headings, or static values inside otherwise dynamic form layouts.
  • For Livewire Table usage, define the table component inside a Livewire component, configure columns/rows/actions, and render it in Blade. The 0.3.0 improvements make this more practical for day-to-day admin screens and dashboards.
  • Integrate with Flatform for lower-level HTML generation when you need custom markup beyond what @form provides. Because laravelcollective/html was removed, replace any legacy Form::open(), Form::text(), etc. calls with Flatform or package-native equivalents.
  • Recommended workflow: prototype with scalar @form calls, build form schemas as arrays or value objects, then extract reusable Blade partials/components for repeated field groups.
  • For Livewire tables, keep column definitions and query logic in the Livewire component, and keep presentation in the Blade view. Use the package’s table component for sorting/pagination/actions rather than hand-rolling HTML tables.

Gotchas and Tips

  • PHP 8 is now required. If CI or production still runs PHP 7.4, the package will not install or may fail at runtime.
  • The removal of laravelcollective/html is the most likely breaking change. Search your codebase for Collective\Html, Html::, and Form:: before upgrading; replace them with Flatform or package directives.
  • Scalar rendering via @form([123]) is convenient, but avoid passing arrays or objects where a scalar is expected. If output looks wrong, test the directive in isolation with a literal scalar first.
  • If @form does nothing, check that the service provider is registered, the Blade view is not cached (php artisan view:clear), and config is not cached (php artisan config:clear).
  • For Livewire Table issues, verify Livewire is installed and compatible, and check that the component is registered. Table improvements in 0.3.0 may still require correct column keys and row identifiers.
  • Publish and inspect the package views/config if behavior differs from expectations. Overriding views is often the quickest fix for markup or Tailwind/Bootstrap styling mismatches.
  • Use @form([123]) as a smoke test after upgrades. If scalar rendering works, the directive pipeline is intact; then test real forms and tables separately.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings