philiplb / crudlexsymfony4bundle
Symfony 4 integration of CRUDlex.
Installs: 1 048
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.1.3
- philiplb/crudlex: 0.14.0
- sensio/framework-extra-bundle: ^5.1
- symfony/framework-bundle: ^4.1
- symfony/lts: ^4@dev
- symfony/translation: ^4.1
- symfony/twig-bundle: ^4.1
- symfony/yaml: ^4.1
- twig/extensions: ^1.5
This package is not auto-updated.
Last update: 2024-11-10 13:39:37 UTC
README
This bundle provides the integration of CRUDlex in a Symfony 4 project.
Installation
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer require philiplb/crudlexsymfony4bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require philiplb/crudlexsymfony4bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Be aware that unfortunately one depedency requires the composer.json to accept unstable releases:
"minimum-stability": "dev", "prefer-stable": true,
Step 2: Enable the Bundle
Add the bundle to your config/bundles.php
:
<?php // config/bundles.php return [ // ... philiplb\CRUDlexSymfony4Bundle\CRUDlexSymfony4Bundle::class => ['all' => true], //... ];
Or, depending on your setup, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new philiplb\CRUDlexSymfony4Bundle\CRUDlexSymfony4Bundle(), ); // ... } // ... }
Step 3: Add the Routes
CRUDlex brings some routes so they must be added to your config/routes.yaml
. This makes them available under /crud:
crudlex: resource: '@CRUDlexSymfony4Bundle/Resources/config/routes.yaml' prefix: /crud
Step 4: Configure the Services to your Requirements
CRUDlexSymfony4Bundle is basically a chunk of services. Some configuration like the location of the crud.yml happens
here. You can override each service in order to fit your requirements with the config/services.yaml
. Here is the
complete configuration to pick from:
services: crudlex.dataFactoryInterface: public: true class: "CRUDlex\\MySQLDataFactory" arguments: - "@doctrine.dbal.default_connection" crudlex.entityDefinitionFactoryInterface: public: true class: "CRUDlex\\EntityDefinitionFactory" crudlex.fileSystemAdapter: public: true class: "League\\Flysystem\\Adapter\\Local" arguments: - "%kernel.project_dir%/var" crudlex.fileSystem: public: true class: "League\\Flysystem\\Filesystem" arguments: - "@crudlex.fileSystemAdapter" crudlex.entityDefinitionValidatorInterface: public: true class: "CRUDlex\\EntityDefinitionValidator" crudlex.service: public: true class: "CRUDlex\\Service" arguments: - "%kernel.project_dir%/config/crud.yml" - "%kernel.cache_dir%" - "@Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface" - "@translator" - "@crudlex.dataFactoryInterface" - "@crudlex.entityDefinitionFactoryInterface" - "@crudlex.fileSystem" - "@crudlex.entityDefinitionValidatorInterface" CRUDlex\Controller: public: true class: "CRUDlex\\Controller" arguments: - "@crudlex.service" - "@crudlex.fileSystem" - "@twig" - "@session" - "@translator" kernel.listener.crudlex: class: philiplb\CRUDlexSymfony4Bundle\EventListener\RequestListener tags: - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } arguments: - "@crudlex.service" - "@session" - "@translator" crudlex.twigExtensions: class: "philiplb\\CRUDlexSymfony4Bundle\\Twig\\CRUDlexExtension" tags: ["twig.extension"] arguments: - "@request_stack" - "@session"