Download the PHP package opxcore/container without Composer

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

Dependency injection container

Build Status Coverage Status Latest Stable Version Total Downloads License

Introduction

The dependency injection container is a powerful tool for managing class dependencies and performing dependency injection. Class dependencies are "injected" into the class via the constructor and resolved by the container.

Example:

Calling $container->make(Controller::class) would be equal to new Controller(new Repository). This amazing feature resolves all dependency injections automatically with zero-config. For this example if Repository have its own dependency, it will be resolved the same.

Installing

composer require opxcore/container

Creating

You can create a container several ways:

or

In all of this cases Container::getContainer() will always return the same container instance.

If you want to create and handle a container (or several containers) by yourself just use $container = new Container and handle this container instance as you want.

Registering a binding with the container

Basic binding to container looks like:

$abstract is a string containing class name or shorthand for a name to be resolved.

$concrete is a string containing class name or callable returning object for a name to be resolved to. Container instance and parameters will be passed to callable during resolving.

$parameters is an array or callable returning array with parameters used for resolving (see below). Default value is null means no parameters will be bound.

Examples:

Simple usage

Binding interfaces to its realizations

We have Controller class what depends on some RepositoryInterface and FileRepository implementing it:

Now we bind FileRepository::class to RepositoryInterface::class so when some class depends on RepositoryInterface it will be resolved to FileRepository and path argument will be passed into with specified value.

Binding parameters

You can bind parameters into the container fo resolving. It can be used as primitives binding or class binding:

Singleton

The singleton method binds a class or interface into the container that should be resolved once. First time it will be resolved and stored in the container, so other times the same object instance will be returned on subsequent calls into the container.

Alias

Alias is another name for resolving.

Instance

You can register any object or value into the container.

Resolving

When resolving some name, you can pass parameters to make() function to attach it for resolving subject.

Sequence of making subject

When resolving some subject, the container checks for registered aliases first, checks for registered instances and resolves using reflections.


All versions of container with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4
opxcore/container-interface Version ^1.0.1
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 opxcore/container contains the following files

Loading the files please wait ....