PHPackages                             midorikocak/interfaces - 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. midorikocak/interfaces

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

midorikocak/interfaces
======================

common interfaces I use in an app. Mostly for teaching OOP

661[1 PRs](https://github.com/midorikocak/interfaces/pulls)PHP

Since Jun 22Pushed 10y ago2 watchersCompare

[ Source](https://github.com/midorikocak/interfaces)[ Packagist](https://packagist.org/packages/midorikocak/interfaces)[ RSS](/packages/midorikocak-interfaces/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Interfaces
==========

[](#interfaces)

> Most common interfaces I use in apps. Mostly for teaching OOP.

[![Build Status](https://camo.githubusercontent.com/307fd4397535be3dd2668a68a8eae44f743068d5075bee1ea46b566808efe7ea/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6462616465722f6e6f64652d64617461646f672d6d6574726963732f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/dbader/node-datadog-metrics)

You can use this library in your app to create your classes designed by contract.

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

[](#installation)

After you go into the app directory, you should execute following commands. OS X &amp; Linux:

```
composer require midorikocak/interfaces
```

Usage example
-------------

[](#usage-example)

You should use the interfaces, and your class should implement the interface you want to use. An interface has only public methods. I use php 7 in this lib, so that all methods should have exact parameter and return types, defined in the interfaces.

Development setup
-----------------

[](#development-setup)

To run all tests of the app, execute these commands in the app directory.

```
composer install
phpunit
```

Release History
---------------

[](#release-history)

- 0.0.1
    - Work in progress
    - packagist auto update
    - better interface organization
    - tests are not finished yet

Meta
----

[](#meta)

Midori Kocak – [@midorikocak](https://twitter.com/midorikocak) –

Distributed under the MIT license. See `LICENSE` for more information.

[https://github.com/midorikocak/prezis](https://github.com/prezis/)

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/983c3c55c001768e4e31e784835671f27dcccd9158a77870ffbb8167896f88f1?d=identicon)[midorikocak](/maintainers/midorikocak)

---

Top Contributors

[![midorikocak](https://avatars.githubusercontent.com/u/545472?v=4)](https://github.com/midorikocak "midorikocak (8 commits)")

### Embed Badge

![Health badge](/badges/midorikocak-interfaces/health.svg)

```
[![Health](https://phpackages.com/badges/midorikocak-interfaces/health.svg)](https://phpackages.com/packages/midorikocak-interfaces)
```

PHPackages © 2026

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