Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rdohms/dms-filter-bundle

Provides a FilterService for Symfony to allow users to implement input filtering in entities using Annotations
https://github.com/rdohms/dms-filter-bundle

filtering hacktoberfest symfony symfony-bundle

Last synced: 5 days ago
JSON representation

Provides a FilterService for Symfony to allow users to implement input filtering in entities using Annotations

Awesome Lists containing this project

README

        

# DMS Filter Bundle

This bundle makes DMS/Filter available for use in your application for input filtering.

Current Status: [![Build Status](https://travis-ci.org/rdohms/dms-filter-bundle.png?branch=2.dev)](https://travis-ci.org/rdohms/dms-filter-bundle) [![Dependency Status](https://www.versioneye.com/php/dms:dms-filter-bundle/1.1.1/badge.png)](https://www.versioneye.com/php/dms:dms-filter-bundle/1.1.1)

## Install

### 1. Import libraries

Option A) Use Composer.

composer require dms/dms-filter-bundle

### 2. Enable Bundle

Add this to your `config/bundles.php`

DMS\Bundle\FilterBundle\DMSFilterBundle::class => ['all' => true]

### 3. Configure

This bundle can now automatically filter your forms if it finds a annotated entity attached.

This is the default behaviour, if you want to disable it add this to your `config.yml`

dms_filter:
auto_filter_forms: false

## Usage

### Adding Annotations

To add attributes to your entity, import the namespace and add them like this:

```php
setName("My name");
$user->setEmail(" [email protected]");

//Get a Filter
$newUser = $filter->filterEntity($car);

return new Response(
$newUser->getModel()
);
}
```

### Auto filtering

This bundle can now automatically filter your forms if it finds a annotated entity attached. If enabled entities will be filtered before they are validated.

### Cascade Filtering

This Bundle automatically cascades filtering into all embedded forms that return valid entities. If you wish child
entities to be ignored, set the `cascade_filter` option on the form to false.

```php
class TaskType extends AbstractType
{
// ...

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'cascade_filter' => false,
));
}

// ...
}
```

## Service based method

If you need to filter content using a method in a service, you do not need to create your own Annotations, you can
simply use the Service Filter, designed specifically for Symfony Services.

See below the usage example of the annotation, it takes 2 options: `service` and `method`.

```php