frenchfrogs/framework
FrenchFrogs Framework is a Laravel/PHP package that provides framework utilities and conventions for structuring applications. It aims to streamline development for teams building maintainable Laravel-based projects with reusable components and a consistent approach.
This package is a fluent table builder for Laravel — you compose tables from typed column definitions ($table->addText(...), and sibling add* methods), then chain modifier methods before rendering. The 1.9 release demonstrates two of those modifiers in action:
$table->addText('period', 'Période')->right()->setDescription('Un truc de ouf!!!!');
Read this as: define the column, align its header/body right, and attach a description (a tooltip/legend shown near the column). Start by:
addText (or wherever your own column types live).->right(), ->setDescription(...)) to validate the fluent API before wiring it into a Blade view or PDF renderer.First practical use case: a report table (invoice line items, timesheets, period summaries) where numeric columns need right alignment and columns need short explanatory text under or beside the header.
addText($key, $label) returns a column object; every modifier (->right(), ->setDescription()) returns the same object, so order within the chain is flexible. Keep the chain on one line per column for readability in large table definitions.buildReportTable() method (or a dedicated builder class) that returns the table with all columns pre-modded. Controllers and views stay thin, and column metadata (alignment, descriptions) lives in one place.setDescription() attaches human-readable text to a column, use it to explain non-obvious fields to end readers (e.g. “Net of tax”, “Incl. overtime”). This is preferable to stuffing explanations into the column label, which breaks layout.->right() on any monetary, count, or percentage column in one pass. Pair it with the same alignment on totals rows so they line up.title-style attributes, so confirm the package injects a real inline element rather than a tooltip.->setDescription(...)->right() equivalent to the reverse. Test one column with reversed order to confirm the package doesn't accumulate a shared state that makes order matter.setDescription() likely does not affect exports (CSV/Excel) or the underlying data key. Don't rely on it as machine-readable metadata; keep source-of-truth docs in your own column config.->right() and ->setDescription() come from a base column class; verify a custom column type you register inherits them (or implements the same traits/interface) before chaining.->right() may align the header, body, or both depending on the renderer. Check the rendered screenshot from the release (the linked image) against your own engine to confirm expectations.dd($column)) to see how description/alignment are stored before they hit the template — this is faster than chasing the generated markup.'Période' works, but confirm your renderer/view declares UTF-8; header encoding issues with accented labels are a common source of mojibake in PDF output.->monospace(), ->tooltip()), reusing setDescription as the pattern to copy.How can I help you explore Laravel packages today?