- What is Coilpack and how does it work with ExpressionEngine and Laravel?
- Coilpack is a bridge package that lets a Laravel application render ExpressionEngine templates and read EE data such as channels, entries, and members. ExpressionEngine keeps ownership of its MySQL schema and add-on ecosystem, while Laravel provides routing and the Blade view layer. It is built for coexistence with EE, not for replacing it.
- How do I install Coilpack in a Laravel application?
- Install it with Composer into an existing Laravel app and point it at your ExpressionEngine database and configuration. The mechanics are straightforward, but you should decide early which system owns each URL and where authentication lives. Most integration effort goes into boundaries like sessions, assets, and cache invalidation rather than the install itself.
- Which Laravel and ExpressionEngine versions does Coilpack support?
- Coilpack is intended for a Laravel 9, 10, or 11 application fronting an ExpressionEngine 6 or 7 install. Because the bridge spans two release tracks, the compatibility matrix is narrow and an EE upgrade or Laravel major bump can break it. Pin both sides and validate every upgrade with a smoke suite that exercises each Coilpack-backed route.
- Can I use Blade views and Eloquent models with ExpressionEngine data?
- Yes. Coilpack exposes EE content to Laravel routing and the Blade view layer and lets you work with that data through Eloquent-style models. ExpressionEngine remains the source of truth for templates and content, so this is coexistence rather than a native Laravel data model. Decide explicitly whether content stays in EE and is read through Coilpack or is migrated into Laravel-native models.
- How does routing work between Laravel and ExpressionEngine templates in Coilpack?
- Laravel owns routing for the surfaces you build, and Coilpack exposes EE-rendered templates through those Laravel routes. That means you need an explicit decision about which stack owns each URL to avoid conflicts. A common starting point is marketing pages and read-only channel content before moving higher-value routes.
- Do I need an existing ExpressionEngine site, and is Coilpack good for greenfield projects?
- Coilpack assumes you already run ExpressionEngine and have a current EE license; it is not a replacement for EE. It fits an existing EE site where the team wants new front-end surfaces in Laravel without a big-bang CMS migration. Greenfield projects and teams with no EE footprint are a poor fit.
- How do authentication and sessions work with EE members and Laravel users?
- Session and authentication unification is one of the hardest parts of a Coilpack integration. You must decide whether identity lives in ExpressionEngine members or Laravel users and how permissions map between the two. Make that decision before build work starts, because it shapes routing, middleware, and how load-bearing add-ons behave.
- Is Coilpack suitable for migrating off ExpressionEngine, or is it a permanent hybrid?
- Coilpack works best as a strangler-fig seam for incremental migration, letting you reimplement high-value routes in Laravel while EE keeps serving content. It is not a one-step modernization tool. If your target state is headless or service-oriented, extract EE content through its API or a one-way ETL into Laravel instead.
- What are the production risks of depending on Coilpack?
- Adoption is very low, so edge cases are undiscovered and community answers will be scarce. The bridge is coupled to two release tracks and sits on EE's template parser and database schema, which are internal contracts you do not control. It is effectively a first-party package from the EE team, which helps support but means its roadmap follows EE's commercial priorities rather than yours.
- How should I test and pin versions for a Coilpack integration?
- Freeze the EE and Laravel versions at integration time, record the exact Coilpack tag in composer.lock, and require every EE or Laravel upgrade to pass a smoke suite covering each Coilpack-backed route. Assume you may be the first to hit a given version combination and budget for reading the package source rather than relying on documentation. Also plan a funded exit path in case Coilpack lags a release by one cycle.