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

Core Laravel Package

sylius/core

Sylius Core integrates all Sylius components into a flexible PHP eCommerce framework, powering storefront and admin features with a decoupled architecture and strong API support. Documentation, contribution guides, and issue tracking available.

View on GitHub
Deep Wiki
Context7

[READ-ONLY] Sylius e-commerce core.

Frequently asked questions about Core
Can Sylius Core be integrated into a Laravel project without conflicts, or does it require a separate Symfony setup?
Sylius Core can integrate with Laravel but requires careful configuration due to its Symfony-based architecture. You’ll need to handle routing conflicts (Sylius uses Symfony’s Router), middleware alignment, and potential ORM clashes (Doctrine vs. Eloquent). A microservice or subdomain approach may simplify coexistence, but expect some custom bridging for Laravel’s native features.
What Laravel versions does Sylius Core officially support, and are there compatibility issues with newer releases?
Sylius Core primarily relies on Symfony components, so it’s compatible with Laravel 8.x and 9.x via shared PHP dependencies (e.g., Symfony’s HttpKernel). However, Laravel 10+ may introduce breaking changes due to Symfony 6/7 updates. Always check the [Sylius docs](https://docs.sylius.com) for the latest compatibility notes and test thoroughly before upgrading.
How does Sylius Core’s API-first design work with Laravel’s built-in API tools like Sanctum or Passport?
Sylius Core emphasizes REST/GraphQL APIs and integrates with API Platform, which can coexist with Laravel Sanctum/Passport. You can use Sylius’s API resources alongside Laravel’s auth systems, but you’ll need to align authentication (e.g., JWT tokens) and handle webhook routing separately. For GraphQL, consider `laravel-graphql` as a bridge to Sylius’s API layer.
Is it possible to use Eloquent alongside Doctrine ORM in Sylius Core, or should I stick to one?
Mixing Eloquent and Doctrine is possible but risky—it can lead to data inconsistencies, performance overhead, or migration conflicts. Sylius Core is optimized for Doctrine, so using it exclusively (via `doctrine/dbal` for queries) is recommended. If you must use Eloquent, isolate it to non-Sylius models and avoid shared migrations or transactions.
How do I handle Sylius Core’s Twig templates in a Laravel project that uses Blade?
Sylius defaults to Twig, but you can integrate Blade by creating custom template adapters or using a hybrid approach (e.g., rendering Twig templates via Blade’s `@include` or a middleware wrapper). For admin panels, consider embedding Sylius’s Twig views in Laravel’s Blade layouts or using a headless setup with API-driven frontend frameworks like Vue/React.
What’s the best way to test Sylius Core in a Laravel environment, given its Symfony-based test suite?
Sylius uses Symfony’s `WebTestCase` for functional tests, which won’t work natively in Laravel. Instead, mock Sylius services in Laravel’s PHPUnit tests or use a hybrid approach: test Sylius components in isolation (e.g., via Docker with Symfony) and integrate them in Laravel using unit/feature tests. For end-to-end tests, use Laravel’s `Http` facade to interact with Sylius’s API endpoints.
Are there known performance bottlenecks when using Sylius Core with Laravel, especially in production?
Potential bottlenecks include Doctrine’s query builder (vs. Eloquent’s fluency), Symfony’s event system overhead, and caching inconsistencies (Sylius uses Symfony’s Cache vs. Laravel’s drivers). Optimize by using a single ORM, configuring Redis for both systems, and profiling queries. For high-traffic stores, consider a microservice architecture to isolate Sylius’s heavy components.
How does Sylius Core handle payments and gateways like Stripe or PayPal in a Laravel project?
Sylius supports OmniPay, which has Laravel-compatible adapters (e.g., `laravel-paypal`). For Stripe or other gateways, use Sylius’s payment plugins or bridge webhooks to Laravel’s queue system (e.g., via `stripe/stripe-php` listeners). Ensure async events (e.g., charge failures) are handled by Laravel’s queue workers to avoid blocking requests.
What alternatives to Sylius Core exist for Laravel-based eCommerce, and when should I choose one over another?
Alternatives include **Bagisto** (Laravel-based, monolithic), **Aimeos** (modular but heavier), or **Laravel Cashier** (for subscriptions). Choose Sylius Core if you need a **decoupled, API-first** architecture with Symfony’s robustness. Opt for Bagisto if you prefer a Laravel-native, all-in-one solution, or Cashier for simple payment/subscription needs.
How can I extend Sylius Core’s functionality in Laravel, such as adding custom product attributes or checkout steps?
Sylius follows Domain-Driven Design (DDD), so extend it by creating custom **entities**, **value objects**, or **plugins**. For product attributes, define new fields in Sylius’s configuration and map them to Eloquent/Doctrine. For checkout steps, use Sylius’s **state machines** and inject custom logic via events or middleware. Always follow Sylius’s [extension guides](https://docs.sylius.com) for plugin development.
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.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views