PHPackages                             dawen/api-doc-property-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. [API Development](/categories/api)
4. /
5. dawen/api-doc-property-bundle

ActiveSymfony-bundle[API Development](/categories/api)

dawen/api-doc-property-bundle
=============================

A extension for nelmio api doc bundle to expose properties

0.1.0(10y ago)16.8k1MITPHPPHP &gt;=5.5.0

Since Dec 19Pushed 10y agoCompare

[ Source](https://github.com/da-wen/api-doc-property-bundle)[ Packagist](https://packagist.org/packages/dawen/api-doc-property-bundle)[ RSS](/packages/dawen-api-doc-property-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (3)Versions (2)Used By (0)

api-doc-property-bundle
=======================

[](#api-doc-property-bundle)

[![Build Status](https://camo.githubusercontent.com/9e255315491a79adde81b6e00790f6f76b041d2b2e555c337f1ca5012fb6fb7a/68747470733a2f2f7472617669732d63692e6f72672f64612d77656e2f6170692d646f632d70726f70657274792d62756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/da-wen/api-doc-property-bundle)

This bundle allows you to expose properties for api documentation that are not handled by json, jms or validator parsers

---

Installation
------------

[](#installation)

Require the dawen/api-doc-property-bundle package in your composer.json and update your dependencies.

```
    $ composer require dawen/api-doc-property-bundle
```

```
    // app/AppKernel.php
    public function registerBundles()
    {
        return array(
            // ...
            new Dawen\Bundle\ApiDocPropertyBundle\ApiDocPropertyBundle(),
        );
    }
```

Register the bundle in app/AppKernel.php:

---

Usage And Examples
------------------

[](#usage-and-examples)

For defining a property you can add a new annotation to your property

```
    @ApiDocProperty(type="string")
```

### Available properties for setting your informations:

[](#available-properties-for-setting-your-informations)

#### name

[](#name)

```
Type: string
Description: Name of the property. If this is not set, then the name of the class property will be taken

```

#### description

[](#description)

```
Type: string
Description: This will be set as description for the property

```

#### type

[](#type)

```
Types: all php types, full qualified class name, array
Description: The type property has no strict limitation. you can write whatever you want. But keep in mind,
that it appears in the api documentation. There is only some magic for classes and array of objects. This will be parsed recursively

```

### Example for a simple class:

[](#example-for-a-simple-class)

```
    namespace Dawen\Bundle\ApiDocPropertyBundle;

    use Dawen\Bundle\ApiDocPropertyBundle\Component\Annotation\ApiDocProperty;

    class Dummy
    {
        /**
         * @ApiDocProperty(type="string")
         * @var string
         */
        private $firstName;

        /**
         * @ApiDocProperty(type="string")
         * @var string
         */
        private $lastName;

        /**
         * @ApiDocProperty(type="int")
         * @var int
         */
        private $age = 0;

        /**
         * @ApiDocProperty(type="Dawen\Bundle\ApiDocPropertyBundle\Address")
         * @var Dawen\Bundle\ApiDocPropertyBundle\Address
         */
        private $address;

        /**
         * @ApiDocProperty(type="array")
         * @var array
         */
        private $keys = [];

        /**
         * @return string
         */
        public function getFirstName()
        {
            return $this->firstName;
        }

        /**
         * @param string $firstName
         */
        public function setFirstName($firstName)
        {
            $this->firstName = $firstName;
        }

        /**
         * @return string
         */
        public function getLastName()
        {
            return $this->lastName;
        }

        /**
         * @param string $lastName
         */
        public function setLastName($lastName)
        {
            $this->lastName = $lastName;
        }

        /**
         * @return int
         */
        public function getAge()
        {
            return $this->age;
        }

        /**
         * @param int $age
         */
        public function setAge($age)
        {
            $this->age = $age;
        }

        /**
         * @return Dawen\Bundle\ApiDocPropertyBundle\Address
         */
        public function getAddress()
        {
            return $this->address;
        }

        /**
         * @param Dawen\Bundle\ApiDocPropertyBundle\Address $address
         */
        public function setAddress($address)
        {
            $this->address = $address;
        }

        /**
         * @return array
         */
        public function getKeys()
        {
            return $this->keys;
        }

        /**
         * @param array $keys
         */
        public function setKeys($keys)
        {
            $this->keys = $keys;
        }

    }
```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

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

Unknown

Total

1

Last Release

3848d ago

### Community

Maintainers

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

---

Top Contributors

[![da-wen](https://avatars.githubusercontent.com/u/3296502?v=4)](https://github.com/da-wen "da-wen (8 commits)")

---

Tags

apisymfonybundledocpropertyextensionnelmioapi-doc-bundle

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dawen-api-doc-property-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/dawen-api-doc-property-bundle/health.svg)](https://phpackages.com/packages/dawen-api-doc-property-bundle)
```

###  Alternatives

[harmbandstra/swagger-ui-bundle

Exposes swagger UI inside your Symfony project through a route (eg. /docs)

42888.4k](/packages/harmbandstra-swagger-ui-bundle)[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.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[stfalcon-studio/api-bundle

Base classes and helper services to build API application via Symfony.

1034.6k](/packages/stfalcon-studio-api-bundle)[ufo-tech/json-rpc-sdk-bundle

The Symfony bundle for simple usage Json-RPC api with dynamic SDK

172.9k](/packages/ufo-tech-json-rpc-sdk-bundle)

PHPackages © 2026

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