PHPackages                             serlo-org/athene2-versioning - 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. serlo-org/athene2-versioning

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

serlo-org/athene2-versioning
============================

Zend Framework 2 Module that provides versioning components for Athene2

2.0(11y ago)471MITPHPPHP &gt;=5.4

Since Jul 27Pushed 11y ago2 watchersCompare

[ Source](https://github.com/serlo-org/athene2-versioning)[ Packagist](https://packagist.org/packages/serlo-org/athene2-versioning)[ Docs](https://github.com/serlo-org/athene2-versioning)[ RSS](/packages/serlo-org-athene2-versioning/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (18)Versions (3)Used By (0)

athene2-versioning
==================

[](#athene2-versioning)

[![Build Status](https://camo.githubusercontent.com/18878c34afb2399875218a1c353d1e79c73e897cd6cb184d85e0992846c54af0/68747470733a2f2f7472617669732d63692e6f72672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672e737667)](https://travis-ci.org/serlo-org/athene2-versioning)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/c43c451c991888e7a506fa7c34e791706fe4a556d8241174e1619c560bf2d28d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/serlo-org/athene2-versioning/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/f07d2a3383be5f9700fd733d71232f3ef43c026b401e84116084156a786fc0e5/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/serlo-org/athene2-versioning/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/5457fab0df1154c713841065965d611d7e574b86e3cdf7ad7045a12ffb063a87/68747470733a2f2f706f7365722e707567782e6f72672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f762f737461626c652e737667)](https://packagist.org/packages/serlo-org/athene2-versioning)[![Latest Unstable Version](https://camo.githubusercontent.com/ac05124a0e9ae0984ba0e2e534191ddd84ade40a70a00c3c3ee53404b2ea60a5/68747470733a2f2f706f7365722e707567782e6f72672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f762f756e737461626c652e737667)](https://packagist.org/packages/serlo-org/athene2-versioning)[![License](https://camo.githubusercontent.com/2bde6981ad7f5c0379adcf15de5637e5ffb180627b9a1f2391b5a8b2f0a82ea8/68747470733a2f2f706f7365722e707567782e6f72672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f6c6963656e73652e737667)](https://packagist.org/packages/serlo-org/athene2-versioning)[![Total Downloads](https://camo.githubusercontent.com/e9333ac1a3654aa282a58d4d543cba4922cbf0792a2deef527f83a2b25bdf77d/68747470733a2f2f706f7365722e707567782e6f72672f7365726c6f2d6f72672f617468656e65322d76657273696f6e696e672f646f776e6c6f6164732e737667)](https://packagist.org/packages/serlo-org/athene2-versioning)

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

[](#installation)

athene2-versioning only officially supports installation through Composer. For Composer documentation, please refer to [getcomposer.org](http://getcomposer.org/).

Install the module:

```
$ php composer.phar require serlo-org/athene2-versioning:~2.0
```

Using the versioning module
===========================

[](#using-the-versioning-module)

The versioning module enables you to manage repositories which contain revisions. Each repository has **n** revisions and one or zero HEAD revision. The HEAD revision is the current revision of that repository. The default implementation of the VersioningManager is **[Doctrine friendly](http://www.doctrine-project.org/)**!

Features
========

[](#features)

- Doctrine implementation (using the ObjectManager)
- Bundled with [zfc-rbac](https://github.com/ZF-Commons/zfc-rbac) for authorization
- Events

Understanding how it works
--------------------------

[](#understanding-how-it-works)

The versioning module consists of one `Versioning\Manager\VersioningManager`, who implements the `Versioning\Manager\VersioningManagerInterface`. He manages models or entities which implement the `Versioning\Entity\RepositoryInterface` and the `Versioning\Entity\RevisionInterface`.

### Let's implement those entity interfaces!

[](#lets-implement-those-entity-interfaces)

You can find example implementations [here](data)!

#### RevisionInterface

[](#revisioninterface)

```
