Skip to content

Commit a538ece

Browse files
committed
Replace "container-interop" README with PSR one
1 parent 3b4cadb commit a538ece

1 file changed

Lines changed: 3 additions & 130 deletions

File tree

README.md

Lines changed: 3 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,132 +1,5 @@
1-
# Container Interoperability
1+
# PSR Container
22

3-
[![Latest Stable Version](https://poser.pugx.org/container-interop/container-interop/v/stable.png)](https://packagist.org/packages/container-interop/container-interop)
4-
[![Total Downloads](https://poser.pugx.org/container-interop/container-interop/downloads.svg)](https://packagist.org/packages/container-interop/container-interop)
3+
This repository holds all interfaces/classes/traits related to [PSR-11](https://github.com/container-interop/fig-standards/blob/master/proposed/container.md).
54

6-
*container-interop* tries to identify and standardize features in *container* objects (service locators,
7-
dependency injection containers, etc.) to achieve interoperability.
8-
9-
Through discussions and trials, we try to create a standard, made of common interfaces but also recommendations.
10-
11-
If PHP projects that provide container implementations begin to adopt these common standards, then PHP
12-
applications and projects that use containers can depend on the common interfaces instead of specific
13-
implementations. This facilitates a high-level of interoperability and flexibility that allows users to consume
14-
*any* container implementation that can be adapted to these interfaces.
15-
16-
The work done in this project is not officially endorsed by the [PHP-FIG](http://www.php-fig.org/), but it is being
17-
worked on by members of PHP-FIG and other good developers. We adhere to the spirit and ideals of PHP-FIG, and hope
18-
this project will pave the way for one or more future PSRs.
19-
20-
21-
## Installation
22-
23-
You can install this package through Composer:
24-
25-
```json
26-
composer require container-interop/container-interop
27-
```
28-
29-
The packages adheres to the [SemVer](http://semver.org/) specification, and there will be full backward compatibility
30-
between minor versions.
31-
32-
## Standards
33-
34-
### Available
35-
36-
- [`ContainerInterface`](src/Interop/Container/ContainerInterface.php).
37-
[Description](docs/ContainerInterface.md) [Meta Document](docs/ContainerInterface-meta.md).
38-
Describes the interface of a container that exposes methods to read its entries.
39-
- [*Delegate lookup feature*](docs/Delegate-lookup.md).
40-
[Meta Document](docs/Delegate-lookup-meta.md).
41-
Describes the ability for a container to delegate the lookup of its dependencies to a third-party container. This
42-
feature lets several containers work together in a single application.
43-
44-
### Proposed
45-
46-
View open [request for comments](https://github.com/container-interop/container-interop/labels/RFC)
47-
48-
## Compatible projects
49-
50-
### Projects implementing `ContainerInterface`
51-
52-
- [Acclimate](https://github.com/jeremeamia/acclimate-container): Adapters for
53-
Aura.Di, Laravel, Nette DI, Pimple, Symfony DI, ZF2 Service manager, ZF2
54-
Dependency injection and any container using `ArrayAccess`
55-
- [Aura.Di](https://github.com/auraphp/Aura.Di)
56-
- [auryn-container-interop](https://github.com/elazar/auryn-container-interop)
57-
- [Burlap](https://github.com/codeeverything/burlap)
58-
- [Chernozem](https://github.com/pyrsmk/Chernozem)
59-
- [Disco](https://github.com/bitexpert/disco)
60-
- [InDI](https://github.com/idealogica/indi)
61-
- [League/Container](http://container.thephpleague.com/)
62-
- [Mouf](http://mouf-php.com)
63-
- [Njasm Container](https://github.com/njasm/container)
64-
- [PHP-DI](http://php-di.org)
65-
- [Picotainer](https://github.com/thecodingmachine/picotainer)
66-
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
67-
- [Pimple3-ContainerInterop](https://github.com/Sam-Burns/pimple3-containerinterop) (using Pimple v3)
68-
- [SitePoint Container](https://github.com/sitepoint/Container)
69-
- [Thruster Container](https://github.com/ThrusterIO/container) (PHP7 only)
70-
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
71-
- [Unbox](https://github.com/mindplay-dk/unbox)
72-
- [XStatic](https://github.com/jeremeamia/xstatic)
73-
- [Zend\ServiceManager](https://github.com/zendframework/zend-servicemanager)
74-
- [Zit](https://github.com/inxilpro/Zit)
75-
76-
### Projects implementing the *delegate lookup* feature
77-
78-
- [Burlap](https://github.com/codeeverything/burlap)
79-
- [Chernozem](https://github.com/pyrsmk/Chernozem)
80-
- [InDI](https://github.com/idealogica/indi)
81-
- [League/Container](http://container.thephpleague.com/)
82-
- [Mouf](http://mouf-php.com)
83-
- [Picotainer](https://github.com/thecodingmachine/picotainer)
84-
- [PHP-DI](http://php-di.org)
85-
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
86-
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
87-
88-
### Middlewares implementing `ContainerInterface`
89-
90-
- [Alias-Container](https://github.com/thecodingmachine/alias-container): add
91-
aliases support to any container
92-
- [Prefixer-Container](https://github.com/thecodingmachine/prefixer-container):
93-
dynamically prefix identifiers
94-
- [Lazy-Container](https://github.com/snapshotpl/lazy-container): lazy services
95-
96-
### Projects using `ContainerInterface`
97-
98-
The list below contains only a sample of all the projects consuming `ContainerInterface`. For a more complete list have a look [here](http://packanalyst.com/class?q=Interop%5CContainer%5CContainerInterface).
99-
100-
| | Downloads |
101-
| --- | --- |
102-
| [Adroit](https://github.com/bitexpert/adroit) | ![](https://img.shields.io/packagist/dt/bitexpert/adroit.svg) |
103-
| [blast-facades](https://github.com/phpthinktank/blast-facades): Minimize complexity and represent dependencies as facades. | ![](https://img.shields.io/packagist/dt/blast/facades.svg) |
104-
| [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di): an extension to [Silex](http://silex.sensiolabs.org/) that adds support for any *container-interop* compatible container | ![](https://img.shields.io/packagist/dt/mouf/interop.silex.di.svg) |
105-
| [mindplay/walkway](https://github.com/mindplay-dk/walkway): a modular request router | ![](https://img.shields.io/packagist/dt/mindplay/walkway.svg) |
106-
| [mindplay/middleman](https://github.com/mindplay-dk/middleman): minimalist PSR-7 middleware dispatcher | ![](https://img.shields.io/packagist/dt/mindplay/middleman.svg) |
107-
| [PHP-DI/Invoker](https://github.com/PHP-DI/Invoker): extensible and configurable invoker/dispatcher | ![](https://img.shields.io/packagist/dt/php-di/invoker.svg) |
108-
| [Prophiler](https://github.com/fabfuel/prophiler) | ![](https://img.shields.io/packagist/dt/fabfuel/prophiler.svg) |
109-
| [Silly](https://github.com/mnapoli/silly): CLI micro-framework | ![](https://img.shields.io/packagist/dt/mnapoli/silly.svg) |
110-
| [Slim v3](https://github.com/slimphp/Slim) | ![](https://img.shields.io/packagist/dt/slim/slim.svg) |
111-
| [Splash](http://mouf-php.com/packages/mouf/mvc.splash-common/version/8.0-dev/README.md) | ![](https://img.shields.io/packagist/dt/mouf/mvc.splash-common.svg) |
112-
| [Woohoo Labs. Harmony](https://github.com/woohoolabs/harmony): a flexible micro-framework | ![](https://img.shields.io/packagist/dt/woohoolabs/harmony.svg) |
113-
| [zend-expressive](https://github.com/zendframework/zend-expressive) | ![](https://img.shields.io/packagist/dt/zendframework/zend-expressive.svg) |
114-
115-
116-
## Workflow
117-
118-
Everyone is welcome to join and contribute.
119-
120-
The general workflow looks like this:
121-
122-
1. Someone opens a discussion (GitHub issue) to suggest an interface
123-
1. Feedback is gathered
124-
1. The interface is added to a development branch
125-
1. We release alpha versions so that the interface can be experimented with
126-
1. Discussions and edits ensue until the interface is deemed stable by a general consensus
127-
1. A new minor version of the package is released
128-
129-
We try to not break BC by creating new interfaces instead of editing existing ones.
130-
131-
While we currently work on interfaces, we are open to anything that might help towards interoperability, may that
132-
be code, best practices, etc.
5+
Note that this is not a container implementation of its own. See the specification for more details.

0 commit comments

Comments
 (0)