Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Input Hydrator Bundle Laravel Package

azjezz/input-hydrator-bundle

View on GitHub
Deep Wiki
Context7

Input Hydrator Bundle

Unit tests status Static analysis status Security analysis status Coding standards status TravisCI Build Status Coverage Status Type Coverage Total Downloads Latest Stable Version License

About

InputHydratorBundle provides a Symfony Bundle for azjezz/input-hydrator package.

Installation

To install the bundle, run the command below and you will get the latest version:

$ composer require azjezz/input-hydrator-bundle

Configuration

Configuring the input hydrator bundle is pretty straight forward, all you need to do is add the bundle to your config/bundles.php:

Note: this will be done for you automatically if you have symfony/flex installed.

// config/bundles.php
<?php

return [
    Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
    ...
    AzJezz\Input\HydratorBundle\InputHydratorBundle::class => ['all' => true],
];

That's it.

Usage

To use the input hydrator, you first need to create your input DTO class.

for example:

// src/Input/Search.php
<?php

declare(strict_types=1);

namespace App\Input;

use AzJezz\Input\InputInterface;

final class Search implements InputInterface
{
    public string $query;
}

later you can request the DTO as a parameter in your controller:

// src/Controller/SearchController.php
<?php

declare(strict_types=1);

namespace App\Controller;

use App\Input\Search;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

final class SearchController
{
    /**
     * @Route("/search", methods={"GET"})
     */
    public function index(Search $search): Response
    {
        return new Response('You were looking for "'.$search->query.'"?');
    }
}

Using Symfony's argument resolver, the bundle is able to hydrate the Search DTO and pass it on to your controller.

In case the request doesn't specify the query field, or query contains another type ( e.g. array ), the argument resolver will throw BadRequestHttpException which will result in a 400 Bad Request response.

License

The MIT License (MIT). Please see LICENSE for more information.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle