- Does leapt/froala-editor-bundle work with Laravel?
- No. It is a Symfony bundle built around Symfony's bundle system, form types, Twig form themes and the Symfony asset pipeline, so none of its integration code runs inside a Laravel application. What is portable is the underlying Froala WYSIWYG editor itself, which is a framework-agnostic JavaScript library. In Laravel you install Froala directly via npm and wrap it in a Blade component.
- How do I install leapt/froala-editor-bundle?
- You install it with Composer using composer require leapt/froala-editor-bundle, then register the bundle in your Symfony kernel's bundles.php and configure editor options under the bundle's configuration key. There is no Laravel service provider or facade, so Composer auto-discovery does nothing useful in a Laravel app. That is the first clear signal the package targets Symfony rather than Laravel.
- How do I configure the Froala toolbar and plugins with this bundle?
- The bundle exposes Froala's own option set through Symfony configuration, typically a YAML or PHP array that is passed into the editor initialisation. Toolbar buttons, plugin lists and height are Froala options rather than bundle-specific inventions, so the same option names carry over if you initialise Froala yourself. That makes the bundle a thin adapter rather than a source of lock-in.
- What is the recommended way to add a Froala editor to a Laravel form?
- Install the editor with npm install froala-editor, add a Vite entry that imports the Froala JavaScript and CSS, and build a Blade component that mounts Froala on a textarea. Pass the field name and current value as component props so the editor works with old input and validation errors. Keep the Froala configuration in a small JS initialiser or a data attribute rather than in PHP.
- Do I need a commercial licence to use Froala in production?
- Yes in most cases. Froala is a commercial product and production deployments require a licence key; without one the editor generally degrades by showing a watermark or limiting behaviour depending on the version. This is a procurement and finance dependency rather than a coding one, so confirm ownership and per-domain or per-seat cost before committing. The Symfony bundle neither includes nor bypasses a licence.
- How should I sanitise Froala HTML in a Laravel application?
- Sanitise server-side before storage and escape on render. Froala emits raw HTML, so allow-list filtering with a library such as HTML Purifier on save is the standard defence against stored XSS, and Blade's escaped output covers the render side. Client-side cleaning is insufficient because requests can bypass the browser entirely. Agree the allowed tag and attribute set with whoever owns security sign-off.
- Is leapt/froala-editor-bundle actively maintained?
- Adoption signals are weak: roughly 11 GitHub stars, no dependents and low community activity. That means little third-party validation, a sparse Stack Overflow corpus and a single-maintainer bus factor. Because it is a thin adapter the practical risk is limited, but do not expect fast tracking of Symfony or Froala major releases.
- What Froala alternatives avoid a commercial dependency in Laravel?
- Tiptap, CKEditor 5, Quill and TinyMCE are the usual alternatives; Tiptap and Quill are open source and integrate cleanly with Vite and Blade components. If your team already has a sanctioned rich-text component, use that rather than introducing a second editor standard. Choosing an open-source editor removes the licence procurement step entirely.
- How do I test a Froala rich text field in Laravel feature tests?
- Froala is a client-side editor, so there is nothing meaningful to unit test in PHP. In feature tests, post the HTML payload directly to your endpoint with the rich text field in the request body, then assert that sanitisation stripped disallowed tags and that the stored value matches expectations. Browser tests with Dusk or Playwright are only worth adding if you need to verify the editor actually mounts.
- How do I migrate from this Symfony bundle to a Laravel Blade component?
- Extract the Froala option set from the bundle's YAML or PHP configuration into a JavaScript config object, install froala-editor via npm, and add a Vite entry for its assets. Build a Blade component that renders a textarea, mounts Froala on it and syncs the value back into the field so Laravel validation and old input work normally. Add sanitisation on save and keep both stacks pinned to the same Froala major version.