Weave Code
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

Fluid Laravel Package

typo3fluid/fluid

TYPO3Fluid is a standalone PHP templating engine extracted from TYPO3 CMS. It provides secure, flexible templates with ViewHelpers, layouts, sections and partials, plus extensibility and caching, making it suitable for MVC apps and reusable component rendering.

View on GitHub
Deep Wiki
Context7

Fluid template rendering engine - Standalone version

Frequently asked questions about Fluid
Can I use TYPO3Fluid/Fluid in Laravel without TYPO3 dependencies?
Yes, Fluid is fully standalone. It requires no TYPO3 components and integrates seamlessly with Laravel’s service container, caching, and routing systems. You can replace Blade or use it alongside for specific templates.
How does Fluid’s component model compare to Laravel’s Blade components?
Fluid’s components (introduced in v5.x) are more structured, with props (ViewHelper arguments) and strict type validation. They’re better suited for reusable UI blocks like Livewire/Inertia components, while Blade components focus on simplicity. Both support layouts and partials.
What Laravel versions does TYPO3Fluid/Fluid support?
Fluid works with Laravel 8+ (PHP 8.0+) due to its strict typing and modern PHP features. For Laravel 7 or PHP 7.4, use Fluid 4.x, but note breaking changes in v5.x require PHP 8.1+. Always check the package’s `composer.json` for exact version constraints.
How do I migrate from Blade to Fluid in Laravel?
Start by converting template files (e.g., `*.blade.php` → `*.fluid.html`). Replace Blade directives (`@if`, `@foreach`) with Fluid’s syntax (`{if}`, `{f:for}`). Rewrite custom Blade directives as ViewHelpers. Use Laravel’s `View::make()` or a custom `FluidView` facade to render templates.
Does Fluid support Laravel’s caching (e.g., view caching, route caching)?
Yes, Fluid integrates with Laravel’s caching layers. It generates compiled `*.fluid.php` files (cached in `storage/framework/cache`) and supports tag-based invalidation via `CacheTagger`. For route caching, ensure your Fluid templates are pre-compiled during deployment.
Are there performance trade-offs for using Fluid in Laravel?
Fluid adds a compilation step on first render (mitigated by Laravel’s opcache or Fluid’s CLI warmup). Complex templates with nested ViewHelpers may increase memory usage. Benchmark with tools like Laravel Debugbar to compare against Blade for your workload.
How do I create custom ViewHelpers for Laravel-specific features (e.g., Auth, Forms)?
Extend Fluid’s `AbstractViewHelper` and register your ViewHelper in Laravel’s service provider. For example, create a `AuthViewHelper` for `@auth` logic or a `FormViewHelper` for Eloquent form rendering. Document them in your project’s template guidelines.
What IDE support exists for Fluid in Laravel?
IDE support is limited compared to Blade. Use PHPStorm’s Fluid plugin or VSCode’s PHP Intelephense for basic syntax highlighting. For autocompletion, generate PHPDoc blocks for custom ViewHelpers. Debugging may require custom exception handlers to format Fluid errors.
Can Fluid replace Blade entirely in a Laravel app?
Yes, but evaluate trade-offs: Fluid’s stricter typing and components may require rewriting logic-heavy Blade templates. Use Fluid for dynamic UIs (e.g., admin panels) and keep Blade for static templates if simplicity is critical. Test thoroughly for edge cases.
How do I handle asset management (CSS/JS) in Fluid templates?
Fluid’s `@section/@layout` syntax mirrors Laravel’s stacks, but asset compilation (e.g., Vite/Purifier) needs custom ViewHelpers. For example, create a `AssetViewHelper` to generate `<script>` tags. Integrate with Laravel Mix or Vite via service providers.
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.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope