ezsystems/ezplatform-richtext
eZ Platform RichText adds RichText field support to eZ Platform, handling storage and rendering of rich content with XML-based markup, transformations, and editor integration. Use it to manage formatted text, embeds, and structured content in your CMS.
Strengths:
Potential Misalignment:
ezsystems/ezplatform-core). Requires eZ Platform or a compatible Symfony-based CMS.paragonie/halite for encryption or spatie/laravel-medialibrary for asset handling).symfony/dependency-injection) would be needed.asset() helper or spatie/laravel-medialibrary would need adaptation.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony Dependency | High | Abstract Symfony services via interfaces or use a compatibility layer (e.g., symfony/console for CLI tools). |
| PHP Version Gaps | Medium | Test with PHP 8.2+ and patch deprecated functions (e.g., create_function). |
| Database Schema | High | Migrate eZ Platform’s ezrichtext table to Laravel’s schema or use a polyfill. |
| Asset Handling | Medium | Replace eZ Platform’s asset service with Laravel’s storage system (e.g., spatie/laravel-medialibrary). |
| CKEditor/TinyMCE | Low | Use Laravel packages like unisharp/laravel-ckeditor for WYSIWYG integration. |
| Caching Layer | Medium | Replace eZ’s cache system with Laravel’s cache drivers (e.g., Redis, file cache). |
symfony/yaml, ezsystems/ezplatform-repository)?laravel-editor, beyondcode/laravel-ckeditor) suffice, or does this bundle offer unique features (e.g., eZ’s content versioning)?| Component | Fit Level | Notes |
|---|---|---|
| Symfony 5/6 | High | Native compatibility; minimal changes needed. |
| eZ Platform | Perfect | Designed for this stack; plug-and-play. |
| Laravel | Medium | Requires significant abstraction (e.g., service container, database, asset handling). |
| PHP 8.2+ | Low | May need compatibility patches (e.g., for create_function). |
| CKEditor/TinyMCE | High | Works with any modern WYSIWYG editor via configuration. |
| PostgreSQL/MySQL | High | eZ Platform supports both; Laravel’s migrations can adapt. |
ezpublish-api, ezpublish-core) with Laravel equivalents.ezrichtext table to Laravel’s schema (e.g., rich_text_fields with content, format, version columns).RichTextFieldType) to Laravel’s container.$this->app->bind(
\EzSystems\RichTextField\API\RichTextService::class,
\App\Services\LaravelRichTextService::class
);
Storage facade or spatie/laravel-medialibrary.laravel-mix or vite to bundle CKEditor/TinyMCE.// resources/js/ckeditor.js
ClassicEditor.create(document.querySelector('#rich-text-editor'))
.then(editor => console.log('Editor ready'))
.catch(error => console.error(error));
symfony/dependency-injection to bridge containers.$container = new ContainerBuilder();
$container->register('ez_richtext.service', EzRichTextService::class);
beyondcode/laravel-ckeditor for WYSIWYG.longtext column with Laravel’s Eloquent.class Post extends Model {
protected $casts = [
'content' => 'array', // or store as HTML string
];
}
| Dependency | Laravel Equivalent | Notes |
|---|---|---|
ezsystems/ezplatform-core |
None (abstraction required) | Must mock eZ’s API or rewrite logic. |
symfony/form |
laravelcollective/html or illuminate/html |
Forms can be adapted with minor changes. |
ckeditor/ckeditor4 |
beyondcode/laravel-ckeditor |
Direct replacement for WYSIWYG. |
doctrine/dbal |
illuminate/database |
Use Laravel’s query builder or Eloquent for DB access. |
ezsystems/ezplatform-repository |
laravel-model (Eloquent) |
Replace repository pattern with Eloquent models. |
How can I help you explore Laravel packages today?