proklung / bitrixannotatedresolversbundle
Addon for Symfony bundle for transform parameters of request to DTO. Bitrix specify part
Installs: 24
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.3 || ~8.0
- doctrine/annotations: ^1.10
- doctrine/cache: ^1.10
- proklung/base-exception: ^1.0
- symfony/config: ^4.4 || ^5.0
- symfony/dependency-injection: ^4.4 || ^5.0
- symfony/framework-bundle: ^4.4 || ^5.0
- symfony/http-kernel: ^4.4 || ^5.0
Requires (Dev)
- proklung/phpunit-testing-tools: ^1.0
- symfony/serializer: ^4.4 || ^5.0
README
Конверторы для бандла https://github.com/ProklUng/AnnotatedParamResolverBundle, без него он не имеет смысла, да и не запустится:
- BitrixFile
В action контроллера, при запросе вида /route?file=7; где 7 - битриксовый ID файла, будет лежать массив, идентичный тому, что отдает CFile::GetFileArray.
use Prokl\BitrixAnnotatedResolversBundle\Annotation\BitrixFile; use Prokl\BitrixAnnotatedResolversBundle\ArgumentsResolver\Services\BitrixFileParam; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; class SampleControllerBitrixFile extends AbstractController { /** * Параметры аннотации необязательны! * * @param BitrixFileParam $file * @return JsonResponse $content * @BitrixFile( * var="file" * ) */ public function action( BitrixFileParam $file ): JsonResponse { return new JsonResponse([ 'url' => $file->url() ]); } }
- BitrixFileUrl
В action контроллера будет лежать URL файла при запросе вида /route?file=7. Где 7 - битриксовый ID файла.
use Prokl\BitrixAnnotatedResolversBundle\Annotation\BitrixFileUrl; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; class SampleControllerBitrixFileUrl extends AbstractController { /** * Параметры аннотации необязательны! * * @param string $file * @return JsonResponse $content * @BitrixFileUrl( * var="file" * ) */ public function action( string $file ): JsonResponse { return new JsonResponse([ 'url' => $file ]); } }