承接 netmex/request-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

netmex/request-bundle

最新稳定版本:2.2.2

Composer 安装命令:

composer require netmex/request-bundle

包简介

README 文档

README

Installation

composer require netmex/request-bundle

Usage

To use the RequestBundle, create a DTO class that extends Netmex\RequestBundle\Request\AbstractRequest. You can use Symfony’s #[Assert\...] attributes to define validation rules per property.

Example DTO
<?php

namespace App\Request;

use Netmex\RequestBundle\Request\AbstractRequest;
use Symfony\Component\Validator\Constraints as Assert;

class CustomRequest extends AbstractRequest
{
    #[Assert\NotBlank()]
    public string $exampleField;
}

Injecting the DTO into a Controller

<?php

namespace App\Controller;

use App\DTO\CustomRequest;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class ExampleController
{
    #[Route('/example', name: 'app_example')]
    public function index(CustomRequest $request): Response
    {
        // Validated and sanitized content
        $results = $request->content();

        return new Response($results);
    }
}

Accessing Fields

All fields

Use content() to retrieve all fields.

$request->content();
Single field

You can also fetch a single field using the get(string $key, ?string $default = null): Parameter.

// Raw value (with optional fallback)
$request->get('fieldName', 'default');

Recommended Directory Layout

src/
├── Request/
│   └── YourDTO.php
└── Controller/
    └── YourController.php

Exception Handling

try {
    $data = $request->getContent()->validate();
} catch (ValidationFailedException $e) {
    return new JsonResponse(['errors' => (string) $e->getViolations()], 400);
}

More about Constraints

See Symfony Validation Constraints for available options.

统计信息

  • 总下载量: 20
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-16