proklung/bitrixannotatedresolversbundle

Addon for Symfony bundle for transform parameters of request to DTO. Bitrix specify part

1.0.9 2021-08-14 11:45 UTC

This package is auto-updated.

Last update: 2024-11-14 19:32:13 UTC


README

Конверторы для бандла https://github.com/ProklUng/AnnotatedParamResolverBundle, без него он не имеет смысла, да и не запустится:

  1. 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()
        ]);
    }
}
  1. 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
        ]);
    }
}