Download the PHP package mj-zana/contracts without Composer
On this page you can find all versions of the php package mj-zana/contracts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download mj-zana/contracts
More information about mj-zana/contracts
Files in mj-zana/contracts
Download mj-zana/contracts
More information about mj-zana/contracts
Files in mj-zana/contracts
Vendor mj-zana
Package contracts
Short Description Framework-wide abstractions shared between Zana packages
License MIT
Package contracts
Short Description Framework-wide abstractions shared between Zana packages
License MIT
Please rate this library. Is it a good library?
Informations about the package contracts
Zana Contracts
Framework-wide abstractions shared between Zana packages.
Purpose
mj-zana/contracts is the public API surface of the framework. It contains the
interfaces, enums, and lightweight immutable value types that appear in the
signatures of public contracts. Packages depend on this common, dependency-free
foundation rather than on each other's concrete classes.
Content
| Namespace | Contracts |
|---|---|
Zana\Contracts\Http |
RequestInterface, ResponseInterface, KernelInterface, MiddlewareInterface |
Zana\Contracts\Routing |
RouterInterface, RouteInterface |
Zana\Contracts\Pipeline |
PipelineInterface, MiddlewareInterface |
Zana\Contracts\Container |
ContainerInterface, ServiceProviderInterface, ServiceScopeInterface, ScopeMetadataInterface, ScopeType, ServiceLifetime, DisposableInterface |
Zana\Contracts\Configuration |
ConfigurationInterface |
Zana\Contracts\Events |
EventDispatcherInterface |
Rules
- Public API surface — anytime a type appears in the signature of a public
contract (interface, enum, or value object), it belongs in
mj-zana/contracts. Implementations stay in their respective packages. - Representation interfaces are complete — if a concrete type represents a
framework object that may cross package boundaries (
RequestInterface,ResponseInterface,RouteInterface,ScopeMetadataInterface, ...), its interface fully describes its public behavior. Consumers never need to cast back to a concrete class. - Capability interfaces are minimal — capability interfaces expose only the
behavior required to perform the capability (
DisposableInterface,CacheInterface,LoggerInterface, ...). They stay as small as possible. - Enums in contracts — any enum appearing in a public contract
(
ScopeType,RouteMethod,CacheStrategy, ...) belongs inmj-zana/contracts. - Only promote what's shared — if an interface has one implementation and nobody outside its package needs it, keep it in that package.
- Exceptions are implementation details — they stay in their packages unless they are part of the public API consumed across packages.
Install
composer require mj-zana/contractsAll versions of contracts with dependencies
PHP Build Version
Package Version
The package mj-zana/contracts contains the following files
Loading the files please wait ...