Download the PHP package yiisoft/definitions without Composer

On this page you can find all versions of the php package yiisoft/definitions. 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 definitions

Yii

Yii Definitions


Latest Stable Version Total Downloads Build status Code Coverage Mutation testing badge static analysis type-coverage

The package provides syntax constructs describing a way to create and configure a service or an object. It is used by yiisoft/di and yiisoft/factory but could be used in other PSR-11 compatible packages as well.

The following are provided:

Requirements

Installation

The package could be installed with Composer:

General usage

Definitions

Definition is describing a way to create and configure a service, an object or return any other value. It must implement Yiisoft\Definitions\Contract\DefinitionInterface that has a single method resolve(ContainerInterface $container). References are typically stored in the container or a factory and are resolved into an object at the moment of getting a service instance or creating an object.

ArrayDefinition

Array definition allows describing a service or an object declaratively:

In the above:

For multiple method call postfix key with unique string, for example:

CallableDefinition

Callable definition builds an object by executing a callable injecting dependencies based on types used in its signature:

In the above, we use a closure, a static call and a static method passed as array-callable. In each case, we determine and pass dependencies based on the types of arguments in the callable signature.

ParameterDefinition

Parameter definition resolves an object based on information from ReflectionParameter instance:

It is mostly used internally when working with callables.

ValueDefinition

Value definition resolves value passed as is:

References

References point to other definitions, so when defining a definition, you can use other definitions as its dependencies:

Optional reference returns null when there's no corresponding definition in container:

The DynamicReference defines a dependency to a service not defined in the container:

To pass an array of IDs as references to a property or an argument, Yiisoft\Definitions\ReferencesArray or Yiisoft\Definitions\DynamicReferencesArray could be used:

Class aliases

To define another instance of a class with specific configuration, you can use native PHP class_alias():

Definition storage

Definition storage could be used to hold and get definitions and check if a certain definition could be instantiated. Usually it is used by an implementation using the definitions:

In the above $buildStack will contain a stack with definition IDs in the order the latest dependency obtained would be built.

By default, if a class is checked in has() and it is not explicitly defined, the storage tries to autoload it first before failing. The storage may also work in a strict mode when everything in it should be defined explicitly:

has() will return false even if EngineMarkOne exists.

Documentation

If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.

License

The Yii Definitions is free software. It is released under the terms of the BSD License. Please see LICENSE for more information.

Maintained by Yii Software.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack


All versions of definitions with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
psr/container Version ^1.0|^2.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 yiisoft/definitions contains the following files

Loading the files please wait ....