- Can I use kocal/ckfinder-symfony-bundle in a Laravel application?
- No. It is a Symfony bundle that ships a Bundle subclass, a dependency injection extension and a Configuration tree consumed by Symfony's kernel at container compile time. Laravel has no bundle loader, no services.yaml and no compiler passes, so requiring it only drags symfony/http-kernel, symfony/dependency-injection and symfony/config into your app as dead weight. There is no supported path to use this package inside a Laravel codebase.
- Does kocal/ckfinder-symfony-bundle work with Laravel 10 or Laravel 11?
- It is not compatible in any meaningful sense. Beyond the missing bundle infrastructure, the package targets Flysystem 2 while Laravel 9 and newer ship Flysystem 3, so listContents() return types, adapter move and copy behaviour, and path-prefix semantics all differ. Even copy-pasting the adapter source into a Laravel app requires a port, not a config change.
- What does this bundle actually do for CKFinder in Symfony?
- It is a thin shim around CKFinder 3's PHP connector: it registers the connector as a Symfony service, maps CKFinder configuration to Symfony parameters, and exposes the file manager through configurable routes. It also supplies a Flysystem-backed adapter so uploads and thumbnails land on S3, GCS or a custom adapter instead of public/uploads. That glue is on the order of 200 to 400 lines, and the pattern is portable even though the package is not.
- How do I install and configure kocal/ckfinder-symfony-bundle?
- The typical flow is a Composer require, enabling the bundle in config/bundles.php, then defining the connector route, upload path and resource path settings in the bundle configuration. Access control is delegated to Symfony's security layer rather than handled by the bundle itself. Check the README for the exact configuration keys, since the repository is archived and will not receive updates.
- How do I integrate CKFinder 3 with Laravel instead?
- Treat the repository as a reference implementation rather than a dependency. Write a class implementing CKSource's Backend interface that delegates to a League\Flysystem\Filesystem obtained via Storage::disk($name)->getDriver(), bind it in a service provider, and keep the connector settings in config/ckfinder.php. That is a well-bounded task you own, and it removes the Symfony dependency entirely.
- What Flysystem version problems will I hit when porting the adapter?
- The biggest one is Flysystem 2 versus 3. DirectoryListing iteration changed, Visibility became an enum, and move and copy behaviour depends on the underlying adapter, so an S3 move may need explicit copy plus delete. Path-prefix semantics also differ. Plan for these deltas explicitly instead of assuming a straight copy-paste will work.
- Is kocal/ckfinder-symfony-bundle still maintained?
- No. The repository is archived, with no upstream patches, no security response process, and no roadmap for PHP 8.4 or Symfony 7. It also has only a handful of stars and zero dependents, so there is effectively no production validation and no community to lean on if the adapter misbehaves.
- What license does this package use, and can I use it with commercial CKFinder?
- Composer reports NOASSERTION, meaning the license is ambiguous and undeclared. CKFinder itself is commercial software from CKSource under a GPL and commercial dual license. Running a proprietary connector through an unlicensed third-party wrapper is a legal review question, so confirm with legal rather than relying on the Composer metadata.
- How does the bundle handle security and access control?
- It integrates with Symfony security rather than inventing its own auth, so connector routes can be protected through your firewall and access_control rules. That keeps file manager permissions consistent with the rest of the application. In a Laravel rewrite the equivalent is auth, can and throttle middleware on your own connector endpoint.
- What are the Laravel alternatives for file browsing and CKEditor uploads?
- If you only need uploads to S3, Laravel's Storage facade plus a small uploader removes the dependency completely. For a browser UI there are Laravel file manager packages such as UniSharp laravel-filemanager or alexusmai laravel-file-manager that plug into CKEditor and TinyMCE. CKFinder is over-scoped unless you specifically need its richer browsing features and already hold a commercial license.