Skip to content

silpo-tech/RestBundle

Repository files navigation

Rest Bundle for Symfony Framework

CI codecov License: MIT

Installation

Require the bundle and its dependencies with composer:

$ composer require silpo-tech/rest-bundle

Register the bundle:

// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        ...
        new RestBundle\RestBundle()
    );
}

How to get current request language and use it?

    private RequestService $requestService;

    public function __construct(RequestService $service)
    {
        $this->requestService = $service;
    }

    /**
     * @param AutoMapperConfigInterface $config
     */
    public function configure(AutoMapperConfigInterface $config): void
    {
        $lang = $this->requestService->getLanguage();
        $config
            ->registerMapping(Office::class, OfficeDto::class)
            ->forMember('title', static function (Office $office) use ($lang) {
                return $office->getTranslationByFieldAndLang('title', $lang) ?: $office->getTitle();
            });
    }

How to configure supported languages

Add to env variables:

DEFAULT_LOCALE=ua

//If you want to restrict available locales (list prioritized, first will be default):
SUPPORTED_LOCALES=["ua", "en", "ru"]

Configuration of service:

    RestBundle\Request\RequestService:
        arguments:
            $defaultLocale: '%kernel.default_locale%'
            $supportedLocales: '%rest.supported_locales%'

Tests

composer test:run

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages