PHPackages                             jeyroik/i-have-repository - 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. jeyroik/i-have-repository

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

jeyroik/i-have-repository
=========================

Simple repository wrapper

0.3.0(4mo ago)0872PHPCI passing

Since Sep 7Pushed 4mo agoCompare

[ Source](https://github.com/jeyroik/i-have-repository)[ Packagist](https://packagist.org/packages/jeyroik/i-have-repository)[ RSS](/packages/jeyroik-i-have-repository/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (6)Versions (6)Used By (2)

php-repository
==============

[](#php-repository)

Framework agnostic repository base

usage
=====

[](#usage)

example
-------

[](#example)

```
use jeyroik\interfaces\IHaveAttributes;
use jeyroik\interfaces\attributes\IHaveIdString;

class Some implements IHaveAttributes, IHaveIdString
{
    use THasIdString;

    //...
}

$some = new class implements IHaveRepository {
    use THasRepository;

    public function createSome(array $data): Some
    {
        return $this->getRepo(Some::class)->insertOne($data);
    }
};

$someItem = $some->createSome([
    'p1' => 'v1'
]);

echo $someItem->p1;// v1

//if RepoPluginUUid is on:
echo $someItem->getId();// something like 181d7dbb-fb11-40c1-af55-ee4cefc6fa33
```

set envs
--------

[](#set-envs)

- DB\_\_CLASS = class for a db driver
- DB\_\_NAME = name for a db
- REPOSITORY\_\_PLUGINS\_FILE = path to repository plugins file

repository plugins file example
-------------------------------

[](#repository-plugins-file-example)

```
