PHPackages                             atelierspierrot/patterns - 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. atelierspierrot/patterns

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

atelierspierrot/patterns
========================

A set of PHP classic interfaces and abstract classes patterns.

v1.1.1(10y ago)21.4k13Apache-2.0HTMLPHP &gt;=5.3.0

Since Oct 7Pushed 10y ago1 watchersCompare

[ Source](https://github.com/atelierspierrot/patterns)[ Packagist](https://packagist.org/packages/atelierspierrot/patterns)[ Docs](http://github.com/atelierspierrot/patterns)[ RSS](/packages/atelierspierrot-patterns/feed)WikiDiscussions dev Synced 2mo ago

READMEChangelogDependencies (3)Versions (14)Used By (13)

patterns - "Les patrons des Ateliers"
=====================================

[](#patterns---les-patrons-des-ateliers)

[![Code Climate](https://camo.githubusercontent.com/5e9801c74d1e2a04b9b88a3023dc99690cf5258e007d35d836c126769148a3b9/687474703a2f2f636f6465636c696d6174652e636f6d2f6769746875622f6174656c6965727370696572726f742f7061747465726e732f6261646765732f6770612e737667)](http://codeclimate.com/github/atelierspierrot/patterns)[![documentation](https://camo.githubusercontent.com/be7adb4ffdc11ba4b480fe936a1e0d23e2c6b3a70ffea72fa4004a30e74e1bae/687474703a2f2f696d672e6174656c696572732d70696572726f742d7374617469632e66722f726561642d7468652d646f632e737667)](http://docs.ateliers-pierrot.fr/patterns/)

A set of PHP classic interfaces and abstract classes patterns.

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

[](#installation)

For a complete information about how to install this package and load its namespace, please have a look at [our *USAGE* documentation](http://github.com/atelierspierrot/atelierspierrot/blob/master/USAGE.md).

If you are a [Composer](http://getcomposer.org/) user, just add the package to the requirements of your project's `composer.json` manifest file:

```
"atelierspierrot/patterns": "dev-master"
```

You can use a specific release or the latest release of a major version using the appropriate [version constraint](http://getcomposer.org/doc/01-basic-usage.md#package-versions).

Usage
-----

[](#usage)

The whole package is embedded in the `Patterns` namespace (in the `src/` directory).

### Abstract classes

[](#abstract-classes)

All abstract classes are embedded in the `Patterns\Abstracts` namespace and prefixed by `Abstract`. They mostly define some common "basic" objects often used in development (the *singleton* pattern, an *optionable* base object etc).

### Interfaces

[](#interfaces)

All interfaces are embedded in the `Patterns\Interfaces` namespace and suffixed by `Interface`. We try here to define some common patterns you can use as a base to construct your objects.

### Common classes

[](#common-classes)

All "helper" classes are embedded in the `Patterns\Commons` namespace. They define some basic objects to use "as is" (or to extend) to manage common things like a *collection*, a *configuration* or a *registry*.

### Traits

[](#traits)

All traits are embedded in the `Patterns\Traits` namespace and suffixed by `Trait`. We define here some "hard copies" (for now) of the abstract classes defined in the `Patterns\Abstracts` namespace and other useful objects. We try to never introduce ambiguity when using these traits by using specific variable names and meaningful method names.

Author &amp; License
--------------------

[](#author--license)

> Patterns

>

> Copyright (c) 2013-2016 Pierre Cassat and contributors

> Licensed under the Apache 2.0 license.

>

> ---

> Les Ateliers Pierrot - Paris, France

>  -

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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

Every ~102 days

Recently: every ~80 days

Total

9

Last Release

3786d ago

### Community

Maintainers

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

---

Top Contributors

[![e-picas](https://avatars.githubusercontent.com/u/1021199?v=4)](https://github.com/e-picas "e-picas (189 commits)")

---

Tags

phpdesign patternspatterns

### Embed Badge

![Health badge](/badges/atelierspierrot-patterns/health.svg)

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

###  Alternatives

[imanghafoori/laravel-anypass

A minimal yet powerful package to help you in development.

21421.6k](/packages/imanghafoori-laravel-anypass)

PHPackages © 2026

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