PHPackages                             urbanindo/yii2-dynamodb - 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. urbanindo/yii2-dynamodb

ActiveLibrary[Database &amp; ORM](/categories/database)

urbanindo/yii2-dynamodb
=======================

DynamoDB extensions for Yii2

2.0.15(7y ago)1472.3k↓58.7%15[3 issues](https://github.com/urbanindo/yii2-dynamodb/issues)[1 PRs](https://github.com/urbanindo/yii2-dynamodb/pulls)BSD LicensePHPPHP &gt;=7.2CI failing

Since Aug 20Pushed 7y ago6 watchersCompare

[ Source](https://github.com/urbanindo/yii2-dynamodb)[ Packagist](https://packagist.org/packages/urbanindo/yii2-dynamodb)[ RSS](/packages/urbanindo-yii2-dynamodb/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (6)Dependencies (9)Versions (12)Used By (0)

DynamoDB extensions for Yii2
============================

[](#dynamodb-extensions-for-yii2)

This is a DynamoDB extension for Yii2

[![Latest Stable Version](https://camo.githubusercontent.com/491190745e42a90a3df8a15fd1afab5b415d818f3967e55d01efee43e094d0cf/68747470733a2f2f706f7365722e707567782e6f72672f757262616e696e646f2f796969322d64796e616d6f64622f762f737461626c652e737667)](https://packagist.org/packages/urbanindo/yii2-dynamodb)[![Total Downloads](https://camo.githubusercontent.com/7b31957cc2216f2dd4ddc53ad8413f24e59862a02a4d65528c80d27e866029f3/68747470733a2f2f706f7365722e707567782e6f72672f757262616e696e646f2f796969322d64796e616d6f64622f646f776e6c6f6164732e737667)](https://packagist.org/packages/urbanindo/yii2-dynamodb)[![Latest Unstable Version](https://camo.githubusercontent.com/4d612569b862b252845d6287ef8e5b28cb224aadc965f8957c8f42d93a720582/68747470733a2f2f706f7365722e707567782e6f72672f757262616e696e646f2f796969322d64796e616d6f64622f762f756e737461626c652e737667)](https://packagist.org/packages/urbanindo/yii2-dynamodb)[![Build Status](https://camo.githubusercontent.com/b3a3c2942dd1a674cf3c914e0f33880fae4f0ea1d90b6bdb78f33db99a1404d0/68747470733a2f2f7472617669732d63692e6f72672f757262616e696e646f2f796969322d64796e616d6f64622e737667)](https://travis-ci.org/urbanindo/yii2-dynamodb)

Requirement
-----------

[](#requirement)

This extension requires

- PHP minimum 7.0 and before 7.2 (Upgrade is still underwork)
- Yii2 minimum 2.0.13 and lesser than 2.1
- AWS PHP SDK 3.28

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

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist urbanindo/yii2-dynamodb "*"

```

or add

```
"urbanindo/yii2-dynamodb": "*"

```

to the require section of your `composer.json` file.

Setting Up
----------

[](#setting-up)

After the installation, sets the `dynamodb` component in the config.

```
return [
    // ...
    'components' => [
        // ...
        'dynamodb' => [
            'class' => 'UrbanIndo\Yii2\DynamoDb\Connection',
            'config' => [
                //This is the config used for Aws\DynamoDb\DynamoDbClient::factory()
                //See http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-dynamodb.html#factory-method
                'credentials' => [
                    'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
                    'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
                ],
                'region' => 'ap-southeast-1',
            ]
        ]
    ],
];
```

Limitation
----------

[](#limitation)

Because DynamoDB have different behavior from MySQL, there are several limitations or behavior change applied. There are several method to get data from DynamoDB: **GetItem**, **BatchGetItem**, **Scan**, and **Query**.

1. We have tried to implement automatic method to acquire model from Query. You should assign method explicitly if you want to force the method to use.
2. Not yet support attribute name aliasing (In MySQL known as field aliasing).
3. When using **Query** method, where condition just support filter by key attributes. In next roll out we will add filtering with non key attributes.
4. To make pagination, we forcedly using **Query** method when WHERE condition is set. Because if you use filtering with non key attribute, it is possible the model result(s) will less than desired limit value.
5. `indexBy` and `orderBy` cannot use with attribute string value or callable parameter. This will use as string value and assign to `IndexName` parameter in DynamoDB. To use sorting, this will forcedly use **QUERY** method and `orderBy` parameter should be either `['myIndex' => 'ASC']` or `['myIndex', 'DESC']` and key condition expression should be defined.
6. Not support NULL and any kind of set attribute type.
7. Not support attribute aliasing belong to Reserve Keywords, which means all attributes do not using any [Reserve Keywords](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html).
8. When use LinkPager, do not forget use ActiveDataProvider from this package. When the pagination pass into any kind of Widget View, several components maybe unsupported like *SerialColumn*, unnecessary total items in summary, and sorting.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 67.1% 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 ~201 days

Recently: every ~259 days

Total

7

Last Release

2690d ago

Major Versions

0.9 → 1.0.02016-01-05

1.2.0 → 2.0.152019-02-22

PHP version history (3 changes)0.9PHP &gt;=5.4.0

1.2.0PHP &gt;=7.0

2.0.15PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/1b7f55dc6d59ee54e7f73ffc96ab51bac7e1e328894ad74998dc55df0df8433c?d=identicon)[urbanindo](/maintainers/urbanindo)

---

Top Contributors

[![petrabarus](https://avatars.githubusercontent.com/u/523289?v=4)](https://github.com/petrabarus "petrabarus (47 commits)")[![dieend](https://avatars.githubusercontent.com/u/1404443?v=4)](https://github.com/dieend "dieend (21 commits)")[![setyolegowo](https://avatars.githubusercontent.com/u/3380239?v=4)](https://github.com/setyolegowo "setyolegowo (2 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/urbanindo-yii2-dynamodb/health.svg)

```
[![Health](https://phpackages.com/badges/urbanindo-yii2-dynamodb/health.svg)](https://phpackages.com/packages/urbanindo-yii2-dynamodb)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[leantime/leantime

Open source project management system for non-project managers. Simple like Trello, powerful like Jira. Built with neurodiversity in mind.

10.2k3.5k](/packages/leantime-leantime)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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