PHPackages                             arkounay/image-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. [Database &amp; ORM](/categories/database)
4. /
5. arkounay/image-bundle

AbandonedArchivedSymfony-bundle[Database &amp; ORM](/categories/database)

arkounay/image-bundle
=====================

Easier image upload form bundle with Doctrine

2.1.1(9y ago)2402PHPPHP &gt;=5.3.3

Since Jan 12Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Arkounay/ImageBundle)[ Packagist](https://packagist.org/packages/arkounay/image-bundle)[ Docs](https://github.com/Arkounay/ImageBundle)[ RSS](/packages/arkounay-image-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (5)Dependencies (3)Versions (10)Used By (0)

Not maintained. Use [artgris/FileManagerBundle](https://github.com/artgris/FileManagerBundle) with [artgris/MediaBundle](https://github.com/artgris/MediaBundle) instead.
=========================================================================================================================================================================

[](#not-maintained-use-artgrisfilemanagerbundle-with-artgrismediabundle-instead)

Arkounay Image Bundle - Symfony Easier Doctrine image management
----------------------------------------------------------------

[](#arkounay-image-bundle---symfony-easier-doctrine-image-management)

[![alt tag](https://camo.githubusercontent.com/ca5fb2d524943247e5c0dfb012a4bc917ccc5d7a24797a28fd1eaabaa9c9ea68/687474703a2f2f6f7574657261726b2e636f6d2f73796d666f6e792f61726b6f756e61795f696d6167655f62756e646c652e706e67)](https://camo.githubusercontent.com/ca5fb2d524943247e5c0dfb012a4bc917ccc5d7a24797a28fd1eaabaa9c9ea68/687474703a2f2f6f7574657261726b2e636f6d2f73796d666f6e792f61726b6f756e61795f696d6167655f62756e646c652e706e67)

### Getting Started

[](#getting-started)

- Download the files:

    ```
      composer require arkounay/image-bundle

    ```
- In `AppKernel.php` add the bundle:

    ```
      new Arkounay\ImageBundle\ArkounayImageBundle()

    ```
- Then, run the following command:

    ```
      php bin/console assets:install

    ```
- In your twig template, you will then need to import the required assets:

    - CSS:

        ```

        ```
    - JS (**requires [jQuery](https://jquery.com/), [ninsuo/symfony-collection](https://github.com/ninsuo/symfony-collection) and optionally [bootstrap](http://getbootstrap.com/), [Font Awesome](http://fontawesome.io/) and [jQuery UI](https://jqueryui.com/)**):

        ```
          {# Import jQuery: #}

          {# Then the default bundle's JavaScript: #}
          {% include '@ArkounayImage/assets/include_js.html.twig' %}

        ```
- In `routing.yml`, you will need to import the Ajax route:

    ```
       arkounay_image:
           resource: "@ArkounayImageBundle/Resources/config/routing.yml"

    ```
- In config.yml, add the following Doctrine types:

    ```
      doctrine:
          dbal:
              types:
                  json_image: Arkounay\ImageBundle\Type\JsonImageType
                  json_images: Arkounay\ImageBundle\Type\JsonImagesType

    ```

### Usage

[](#usage)

In an entity, you can now add the new `json_image` types:

```
/**
 * @var Image
 * @ORM\Column(type="json_image")
 */
private $image;

/**
 * @var ArrayCollection|Image[]
 * @ORM\Column(type="json_images")
 */
private $imageCollection;

public function __construct()
{
    $this->imageCollection = new ArrayCollection();
}

```

You can bound these fields to a form using its corresponding type:

```
use Arkounay\ImageBundle\Form\JsonImagesType;
use Arkounay\ImageBundle\Form\JsonImageType;

// ...

$builder
    ->add('image', JsonImageType::class)
    ->add('imageCollection', JsonImagesType::class);

```

### Options:

[](#options)

**JsonImageType:**

- `'allow_alt' => true` allows the user to specify an alt
- `'path_readonly' => false` prevents the user from manually changing the path (it only adds a "readonly" attribute to the corresponding HTML input)

**JsonsImageType:**

Some [ninsuo/symfony-collection](https://github.com/ninsuo/symfony-collection)'s options are available directly:

- `'min' => 0`
- `'max' => 100`
- `'init_with_n_elements' => 1`
- `'add_at_the_end' => true`

### About the form HTML theme

[](#about-the-form-html-theme)

Include bootstrap's theme

```
{% form_theme form ':admin/includes:bootstrap_3_layout.html.twig' %}

```

To override the widget theme, check `Resources/views/forms/fields.html.twig`.

### Other

[](#other)

- By default, only `ROLE_ADMIN` can upload images. You can specify roles in config.yml, ie:

    ```
      arkounay_image:
          roles: ['ROLE_SUPER_ADMIN']

    ```
- This bundle works with [EasyAdminBundle](https://github.com/javiereguiluz/EasyAdminBundle), you can for example add multiple images by specifying the proper type:

    ```
      { property: 'imageCollection', type: 'Arkounay\ImageBundle\Form\JsonImagesType', type_options: {allow_add: true} }

    ```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 76% 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.

###  Release Activity

Cadence

Every ~2 days

Total

9

Last Release

3438d ago

Major Versions

0.1.0 → 1.0.02017-01-12

1.0.2 → 2.0.02017-01-20

### Community

Maintainers

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

---

Top Contributors

[![Arkounay](https://avatars.githubusercontent.com/u/9340719?v=4)](https://github.com/Arkounay "Arkounay (19 commits)")[![artgris](https://avatars.githubusercontent.com/u/22889596?v=4)](https://github.com/artgris "artgris (6 commits)")

---

Tags

doctrineform-builderimagesymfonysymfony-bundlesymfonybundleimagedoctrineform

### Embed Badge

![Health badge](/badges/arkounay-image-bundle/health.svg)

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

###  Alternatives

[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1175.2k](/packages/rcsofttech-audit-trail-bundle)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.5M378](/packages/easycorp-easyadmin-bundle)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

939.0k](/packages/ahmed-bhs-doctrine-doctor)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[kimai/kimai

Kimai - Time Tracking

4.8k8.7k1](/packages/kimai-kimai)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1615.6k12](/packages/2lenet-crudit-bundle)

PHPackages © 2026

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