sylius / resource-bundle
Resource component for Sylius.
Installs: 7 737 004
Dependents: 169
Suggesters: 0
Security: 4
Stars: 220
Watchers: 30
Forks: 155
Open Issues: 77
Type:symfony-bundle
Requires
- php: ^8.1
- babdev/pagerfanta-bundle: ^3.7 || ^4.0
- doctrine/annotations: ^2.0
- doctrine/collections: ^1.8 || ^2.0
- doctrine/event-manager: ^1.1 || ^2.0
- doctrine/inflector: ^1.4 || ^2.0
- doctrine/persistence: ^2.0 || ^3.0
- gedmo/doctrine-extensions: ^2.4.12 || ^3.0
- sylius/registry: ^1.2
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/deprecation-contracts: ^2.1 || ^3.0
- symfony/expression-language: ^5.4 || ^6.4 || ^7.0
- symfony/form: ^5.4 || ^6.4 || ^7.0
- symfony/framework-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/intl: ^5.4 || ^6.4 || ^7.0
- symfony/routing: ^5.4 || ^6.4 || ^7.0
- symfony/security-core: ^5.4 || ^6.4 || ^7.0
- symfony/security-csrf: ^5.4 || ^6.4 || ^7.0
- symfony/translation: ^5.4 || ^6.4 || ^7.0
- symfony/twig-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/validator: ^5.4 || ^6.4 || ^7.0
- symfony/yaml: ^5.4 || ^6.4 || ^7.0
- webmozart/assert: ^1.8
- willdurand/negotiation: ^3.1
Requires (Dev)
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.18
- friendsofsymfony/rest-bundle: ^3.0
- jms/serializer-bundle: ^3.5 || ^4.0 || ^5.0
- lchrusciel/api-test-case: ^5.0
- matthiasnoback/symfony-dependency-injection-test: ^4.2.1 || ^5.1
- pagerfanta/pagerfanta: ^3.7 || ^4.0
- pamil/phpspec-skip-example-extension: ^4.2
- phpspec/phpspec: ^7.3
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.7
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^9.5
- rector/rector: ^0.18.2
- sylius-labs/coding-standard: ^4.0
- sylius/grid-bundle: ^1.11 || ^1.13@beta
- symfony/console: ^5.4 || ^6.4 || ^7.0
- symfony/css-selector: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/dotenv: ^5.4 || ^6.4 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.4 || ^7.0
- symfony/messenger: ^5.4 || ^6.4 || ^7.0
- symfony/security-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/serializer: ^5.4 || ^6.4 || ^7.0
- symfony/stopwatch: ^5.4 || ^6.4 || ^7.0
- symfony/uid: ^5.4 || ^6.4 || ^7.0
- symfony/workflow: ^5.4 || ^6.4 || ^7.0
- twig/twig: ^3.0
- vimeo/psalm: ^5.20
- willdurand/hateoas-bundle: ^2.0
- winzou/state-machine-bundle: ^0.6.2
Suggests
- doctrine/orm: ^2.20
- sylius/locale: ^1.0
Conflicts
- doctrine/doctrine-bundle: <2.0 || ^3.0
- doctrine/orm: <2.18 || ^3.0
- friendsofsymfony/rest-bundle: <3.0
- jms/serializer-bundle: <3.5
- twig/twig: <3.0
- willdurand/hateoas-bundle: <2.0 || ^2.6
- winzou/state-machine-bundle: <0.6.2
Replaces
- sylius/resource: v1.12.0
- 1.13.x-dev
- 1.12.x-dev
- v1.12.0
- v1.12.0-BETA.2
- v1.12.0-BETA.1
- v1.12.0-ALPHA.3
- v1.12.0-ALPHA.2
- v1.12.0-ALPHA.1
- 1.11.x-dev
- v1.11.4
- v1.11.3
- v1.11.2
- v1.11.1
- v1.11.0
- v1.11.0-RC.2
- v1.11.0-RC.1
- v1.11.0-BETA.2
- v1.11.0-BETA.1
- v1.11.0-ALPHA.2
- v1.11.0-ALPHA.1
- 1.10.x-dev
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10.0
- v1.10.0-BETA.1
- v1.10.0-ALPHA.2
- v1.10.0-ALPHA.1
- 1.9.x-dev
- v1.9.1
- v1.9.0
- v1.9.0-RC.1
- v1.9.0-BETA.1
- v1.9.0-ALPHA.1
- 1.8.x-dev
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- 1.7.x-dev
- v1.7.1
- v1.7.0
- v1.7.0-RC.8
- v1.7.0-RC.7
- v1.7.0-RC.6
- v1.7.0-RC.5
- v1.7.0-RC.4
- v1.7.0-RC.3
- v1.7.0-RC.2
- v1.7.0-RC.1
- v1.7.0-BETA.5
- v1.7.0-BETA.4
- v1.7.0-BETA.3
- v1.7.0-BETA.2
- v1.7.0-BETA.1
- 1.6.x-dev
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.6.0-RC.3
- v1.6.0-RC.2
- v1.6.0-RC.1
- 1.5.x-dev
- v1.5.2
- v1.5.1
- v1.5.0
- 1.4.x-dev
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.4.0-BETA.1
- 1.3.x-dev
- v1.3.14
- v1.3.13
- v1.3.12
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.3.0-BETA
- 1.2.x-dev
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.2.0-RC
- v1.2.0-BETA
- 1.1.x-dev
- v1.1.18
- v1.1.17
- v1.1.15
- v1.1.14
- v1.1.13
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.1.0-RC
- 1.0.x-dev
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v1.0.0-rc.2
- v1.0.0-rc.1
- v1.0.0-beta.3
- v1.0.0-beta.2
- v1.0.0-beta.1
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- v0.19.0
- v0.18.0
- v0.17.0
- v0.16.0
- v0.15.0
- v0.14.0
- v0.13.0
- v0.12.0
- v0.11.0
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-dependabot/composer/rector/rector-tw-1.2.6
- dev-poc-new-resource-metadata
- dev-poc/2.0
- dev-symfony-6-support
- dev-dependabot/composer/vimeo/psalm-4.9.2
- dev-dependabot/composer/phpstan/phpstan-webmozart-assert-0.12.13
This package is auto-updated.
Last update: 2024-12-16 13:46:32 UTC
README
Easy CRUD and persistence for Symfony apps.
During our work on Sylius, we noticed a lot of duplicated code across all controllers. We started looking for good solution of the problem. We're not big fans of administration generators (they're cool, but not for our usecase!) - we wanted something simpler and more flexible.
Another idea was to not limit ourselves to one persistence backend. Initial implementation included custom manager classes, which was quite of overhead, so we decided to simply
stick with Doctrine Common Persistence interfaces. If you are using Doctrine ORM or any of the ODM's, you're already familiar with those concepts.
Resource bundle relies mainly on ObjectManager
and ObjectRepository
interfaces.
The last annoying problem this bundle is trying to solve, is having separate "backend" and "frontend" controllers, or any other duplication for displaying the same resource, with different presentation (view). We also wanted an easy way to filter some resources from list, sort them or display by id, slug or any other criteria - without having to defining another super simple action for that purpose.
If these are issues you're struggling with, this bundle may be helpful!
Please note that this bundle is not an admin generator. It won't create forms, filters and grids for you. It only provides format agnostic controllers as a foundation to build on, with some basic sorting and filter mechanisms.
Supported branches
1.10
(v1.10.*
versions) - bug fixes and improvements of existing features1.11
(next version -v1.11.0
) - new features and bigger changes
Beware! There is no main
or master
branch on the repository. You should always open a Pull Request to the branch
named as the minor version on which your changes should be applied.
Sylius
Sylius is an Open Source eCommerce solution built from decoupled components with powerful API and the highest quality code. Read more on sylius.com.
Development
Build:
docker compose up -d --build
Test:
make test
Documentation
Documentation is available in the docs folder.
Contributing
This page contains all the information about contributing to Sylius.
Follow Sylius' Development
If you want to keep up with the updates and latest features, follow us on the following channels:
Bug tracking
Sylius uses GitHub issues. If you have found bug, please create an issue.
MIT License
License can be found here.
Authors
The bundle was originally created by Paweł Jędrzejewski. See the list of contributors.