Skip to content
Snippets Groups Projects
Select Git revision
  • fb98116f84f14f3e7d26b46c24c24cff8fc95f76
  • main default protected
  • v0.2.1
  • v0.2.0
  • v0.1.2
  • v0.1.0
  • v0.1.1
7 results

dbp-relay-example-bundle

  • Clone with SSH
  • Clone with HTTPS
  • Reiter, Christoph's avatar
    Reiter, Christoph authored
    fix(deps): update all non-major dependencies (patch)
    
    See merge request !128
    fb98116f
    History

    Relay Example Bundle

    GitLab | Packagist

    This Symfony bundle can be used as an example for creating new bundles for the DBP Relay project.

    When including this bundle into your API server it will gain the following features:

    • A custom ./bin/console command
    • An example entity
    • Various HTTP methods implemented for that entity

    TL;DR

    The quickest way to make use of this example bundle is to feed your desired names to one command and generate a ready-to-use bundle with the correct naming.

    See Generate DBP Symfony bundle for more information.

    Using the Bundle as an example

    • Copy the repo contents
    • Adjust the package name in composer.json, in this example we'll pretend you named your bundle dbp/relay-your-bundle
    • Invent a new PHP namespace and adjust it in all PHP files
    • Rename src/DbpRelayExampleBundle and DependencyInjection/DbpRelayExampleExtension to match the new project name

    Integration into the API Server

    • Push your bundle on a git server, in this example we'll use git@gitlab.tugraz.at:dbp/relay/dbp-relay-your-bundle.git
    • Add the repository to your composer.json (as soon as you published your bundle to Packagist you can remove that block again):
        "repositories": [
            {
                "type": "vcs",
                "url": "git@gitlab.tugraz.at:dbp/relay/dbp-relay-your-bundle.git"
            }
        ],
    • Add the bundle package as a dependency:
    composer require dbp/relay-your-bundle=dev-main
    • Add the bundle to your config/bundles.php:
    ...
    Dbp\Relay\YourBundle\DbpRelayYourBundle::class => ['all' => true],
    DBP\API\CoreBundle\DbpCoreBundle::class => ['all' => true],
    ];
    • Run composer install to clear caches

    Configuration

    The bundle has a example_config configuration value that you can specify in your app, either by hard-coding it, or by referencing an environment variable.

    For this create config/packages/dbp_relay_example.yaml in the app with the following content:

    dbp_relay_example:
      example_config: 42
      # example_config: '%env(EXAMPLE_CONFIG)%'

    The value gets read in DbpRelayExampleExtension (your extension will be named differently) and passed when creating the MyCustomService service.

    For more info on bundle configuration see Symfony bundles configuration.

    Development & Testing

    • Install dependencies: composer install
    • Run tests: composer test
    • Run linters: composer run lint
    • Run cs-fixer: composer run cs-fix

    Bundle dependencies

    Don't forget you need to pull down your dependencies in your main application if you are installing packages in a bundle.

    # updates and installs dependencies from dbp/relay-your-bundle
    composer update dbp/relay-your-bundle