Skip to content
Snippets Groups Projects
Select Git revision
  • 0cbc10801a9f8732d7da99df055bf06c889ab23e
  • 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
  • Relay Template Bundle

    This Symfony bundle can be used as a template 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

    Using the Bundle as a Template

    • Copy the repo contents
    • Adjust the package name in composer.json
    • Invent a new PHP namespace and adjust it in all PHP files
    • Rename src/DbpRelayTemplateBundle and DependencyInjection/DbpRelayTemplateExtension to match the new project name

    Integration into the API Server

    • Add the repository to your composer.json:
        "repositories": [
            {
                "type": "vcs",
                "url": "git@gitlab.tugraz.at:dbp/relay/dbp-relay-template-bundle.git"
            }
        ],
    • Add the bundle package as a dependency:
    composer require dbp/relay-template-bundle=dev-main
    • Add the bundle to your config/bundles.php:
    ...
    Dbp\Relay\TemplateBundle\DbpRelayTemplateBundle::class => ['all' => true],
    DBP\API\CoreBundle\DbpCoreBundle::class => ['all' => true],
    ];
    • Run composer install to clear caches

    Configuration

    The bundle has a secret_token configuration value that you can specify in your app, either by hardcoding it, or by referencing an environment variable.

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

    dbp_relay_template:
      secret_token: 42
      # secret_token: '%env(SECRET_TOKEN)%'

    The value gets read in DbpRelayTemplateExtension and passed when creating the MyCustomService service.

    For more info on bundle configuration see https://symfony.com/doc/current/bundles/configuration.html

    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-template-bundle
    composer update dbp/relay-template-bundle