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.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
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

  1. 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.
  2. 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.
  3. Capability interfaces are minimal — capability interfaces expose only the behavior required to perform the capability (DisposableInterface, CacheInterface, LoggerInterface, ...). They stay as small as possible.
  4. Enums in contracts — any enum appearing in a public contract (ScopeType, RouteMethod, CacheStrategy, ...) belongs in mj-zana/contracts.
  5. Only promote what's shared — if an interface has one implementation and nobody outside its package needs it, keep it in that package.
  6. 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/contracts

All versions of contracts with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
psr/container Version ^2.0
zana/ddd Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mj-zana/contracts contains the following files

Loading the files please wait ...