PHPackages                             appventus/aviary-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. appventus/aviary-bundle

AbandonedArchivedSymfony-bundle[Utility &amp; Helpers](/categories/utility)

appventus/aviary-bundle
=======================

Symfony AvAviaryBundle

47.4k2[1 issues](https://github.com/AppVentus/AviaryBundle/issues)HTML

Since Jan 22Pushed 10y ago1 watchersCompare

[ Source](https://github.com/AppVentus/AviaryBundle)[ Packagist](https://packagist.org/packages/appventus/aviary-bundle)[ RSS](/packages/appventus-aviary-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

AviaryBundle
============

[](#aviarybundle)

\##Description

This bundle provides multiple file uploads, based on the BlueImp jQuery file uploader package. It provides also Aviary editing image functionnalities.

\##Installation

\###Step 1

With Composer:

Add this line in your composer.json file: "appventus/aviary-bundle" : "dev-master"

Declare the bundle in your AppKernel.php: public function registerBundles() { $bundles = array( \[...\] new AppVentus\\AviaryBundle\\AviaryBundle(), \[...\]

\###Step 2 : Entity

In your YourEntity.php, add a OneToOne Relation with a Gallery

```
/**
 * @ORM\OneToOne(targetEntity="Appventus\AviaryBundle\Entity\Gallery", cascade={"persist"})
 */
private $gallery;

/**
 * Set gallery
 *
 * @param \Appventus\AviaryBundle\Entity\Gallery $gallery
 * @return Product
 */
public function setGallery(\Appventus\AviaryBundle\Entity\Gallery $gallery = null)
{
    $this->gallery = $gallery;

    return $this;
}

/**
 * Get gallery
 *
 * @return \Appventus\AviaryBundle\Entity\Gallery
 */
public function getGallery()
{
    return $this->gallery;
}

```

\###Step 3 : Form Type

In your YourEntityType.php, add the GalleryType use Appventus\\AviaryBundle\\Form\\GalleryType; class YourEntityType extends AbstractType { /\*\* \* @param FormBuilderInterface $builder \* @param array $options \*/ public function buildForm(FormBuilderInterface $builder, array $options) { $builder \[...\] -&gt;add('gallery', new GalleryType()) \[...\] ; } }

\###Step 4

Add "aviary.uploadpath" parameter to your config.yml :

```
parameters:
    aviary.uploadpath: /

```

And add "AviaryBundle:Form:fields.html.twig" to your twig.yml :

```
twig:
    form:
        resources:
            - 'AviaryBundle:Form:fields.html.twig'

```

\###Step 5 : Add styles and scripts

If You have installed our [AsseticInjectorBundle](https://github.com/AppVentus/AsseticInjectorBundle/edit/master/README.md) bundle, add the injector tags :

- javascripts (injector="aviary\_scripts")
- stylesheets (injector="aviary\_styles")

\###Step 6 : The Form ! {{ form\_start(form, {'method': 'POST', 'attr' : {'id' : 'fileupload'}}) }} {{ form\_widget(form.gallery) }} {{ form\_rest(form) }} {{ form\_end(form) }}

\###Step 7 : Main script

```
var featherEditor = new Aviary.Feather({
    apiKey: 'yourapikey',
    apiVersion: 3,
    theme: 'dark',
    appendTo: '',
    language: 'fr',
    onSave: function(imageID, newURL) {
        postImage(imageID, newURL);
        featherEditor.close();
        return false;
    },
    onError: function(errorObj) {
        alert(errorObj.message);
    }
});
```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/bfae4f0954a577921be2539b40a1f1958376f5c7364505e1e238e232ba8066d9?d=identicon)[paulandrieux](/maintainers/paulandrieux)

---

Top Contributors

[![paulandrieux](https://avatars.githubusercontent.com/u/1942078?v=4)](https://github.com/paulandrieux "paulandrieux (18 commits)")[![hyukchan](https://avatars.githubusercontent.com/u/6544332?v=4)](https://github.com/hyukchan "hyukchan (2 commits)")[![gregumo](https://avatars.githubusercontent.com/u/11725078?v=4)](https://github.com/gregumo "gregumo (1 commits)")

### Embed Badge

![Health badge](/badges/appventus-aviary-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/appventus-aviary-bundle/health.svg)](https://phpackages.com/packages/appventus-aviary-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
