ekyna/commerce
Ekyna Commerce is a PHP/Symfony commerce component providing the foundations for catalog, orders, customers, taxes, and related domain logic. Work in progress with planned cleanup (bundles removal, naming, Doctrine mappings/embeddables) and EU VAT resources.
Order, Product, Customer) align with the system’s architecture or if they require significant refactoring.hasXXXs, setXXXs collection handling) imply design gaps for common commerce patterns (e.g., bulk operations, variant management). A TPM should evaluate whether these can be addressed via decorators, traits, or custom middleware without forking.LibPhoneNumber (a Google dependency) and lacks clear Doctrine integration. If the stack uses Symfony Bundles, migration away from them could introduce breaking changes.position for ordered items) may lead to performance bottlenecks in high-throughput scenarios. A TPM must validate if the package’s mapping strategy (e.g., Doctrine annotations) conflicts with existing DB schemas.attribute set validation).getXXX() to isXXX()) could force downstream refactoring.setXXXs clearing) may cause memory leaks or N+1 query issues in Doctrine.ContainerAware) that may not align with Laravel’s service container.eloquent-doctrine bridge).ekyna/commerce + doctrine/orm).Product models to ekyna\Commerce\Product.Order data to include missing fields (e.g., position for sorting).prePersist).Cart, Checkout). A TPM should:
Product, Order, and Customer entities.setXXXs).hasXXXs).getXXX() → isXXX()) may break downstream code.LibPhoneNumber removal suggests fragile dependencies; a TPM must monitor for upstream changes.setXXXs) could become a bottleneck under high concurrency.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Tax calculation bug | Incorrect VAT charges, legal risks | Manual review of tax logic; A/B testing |
| Doctrine schema conflicts | Data corruption | Pre-migration schema validation |
| Collection operation memory leaks | App crashes under load | Monitor memory usage; optimize queries |
Missing hasXXXs logic |
Incomplete product filtering | Implement custom trait/middleware |
| Payment integration conflicts | Failed transactions | Isolate payment logic via adapters |
How can I help you explore Laravel packages today?