silpo-tech / rest-bundle
Rest bundle for Symfony
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- doctrine/collections: ^1.5
- mark-gerarts/automapper-plus-bundle: ^1.0
- php-solution/std-lib: ^1.0
- phpdocumentor/reflection-docblock: ^5.6
- silpo-tech/exception-handler-bundle: ^1.0
- silpo-tech/mapper-bundle: ^1.0
- silpo-tech/paginator-bundle: ^1.0
- symfony/property-info: ^7.2
- symfony/serializer: ^7.2
- symfony/validator: ^7.2
- symfony/yaml: ^7.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.5
- symfony/browser-kit: ^7.2
- symfony/framework-bundle: ^7.2
README
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