Skip to content
Snippets Groups Projects
Select Git revision
  • 5b3bc76b3ad5ee6da0886ef885395633a29bc79e
  • 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
  • user avatar
    Renovate Bot authored
    5b3bc76b
    History

    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

    TL;DR

    The quickest way to make use of this template 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 a Template

    • 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/DbpRelayTemplateBundle and DependencyInjection/DbpRelayTemplateExtension 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_template.yaml in the app with the following content:

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

    The value gets read in DbpRelayTemplateExtension (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