Download the PHP package godruoyi/easy-container without Composer

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

A simple dependency injecting container from laravel.

styleci passed easy-container Latest Stable Version Total Downloads License

Why

Currently more popular php container:

Pimple is a simple and excellent php 5.3 container, which is also the most used service container, and the installed capacity of packagist is also up to 1000W+ .But Pimple just a simple service container that does not support many features such as:

Pimple Does not support the automatic injection of dependency parameters, when you need to rely on other objects object, you can only instantiate the required parameters.

Laravel Container is the most full-featured service container, including auto-injection, load-loading, alias, TAG, and so so. But the official does not recommend using the component in non-laravel project.

If you have noticed the composer.json file under that component,You will find that he depends on the illuminate/contracts component.(see also)

Based on this, easy-container was born, and the project code relied heavily on Laravel Container :smile: :smile: . You can use it like a Laravel Container container.

Install

SDK Version PHP Version Composer Command
3.x >= 8.1 composer require "easy-container:^3.0"
2.x >= 7.2 composer require "easy-container:^2.1"
1.x >= 5.6 composer require "easy-container:^2.1"

Use

You can get more help with container usage at laravel.com.

Initialize the container.

The following documents support from laravel.com, reproduced please indicate the source.

Simple Bindings

We can register a binding using the bind method, passing the class or interface name that we wish to register along with a Closure that returns an instance of the class:

Note,All anonymous functions accept the service container instance as a parameter.

Binding A Singleton

The singleton method binds a class or interface into the container that should only be resolved one time. Once a singleton binding is resolved, the same object instance will be returned on subsequent calls into the container:

Each time you call $app['HelpSpot\API'] will return the same object.

Binding A Singleton

The singleton method binds a class or interface into the container that should only be resolved one time. Once a singleton binding is resolved, the same object instance will be returned on subsequent calls into the container:

$api = new HelpSpot\API(new HttpClient);

$app->instance('HelpSpot\API', $api);

Binding Interfaces To Implementations

A very powerful feature of the service container is its ability to bind an interface to a given implementation. For example, let's assume we have an EventPusher interface and a RedisEventPusher implementation. Once we have coded our RedisEventPusher implementation of this interface, we can register it with the service container like so:

$app->bind(
    'App\Contracts\EventPusher',
    'App\Services\RedisEventPusher'
);

This statement tells the container that it should inject the RedisEventPusher when a class needs an implementation of EventPusher. Now we can type-hint the EventPusher interface in a constructor, or any other location where dependencies are injected by the service container:

use App\Contracts\EventPusher;

/**
 * Create a new instance of the class, which will be injected into the App\Services\RedisEventPusher instance.
 *
 * @param  EventPusher  $pusher
 * @return void
 */
public function __construct(EventPusher $pusher)
{
    $this->pusher = $pusher;
}

Resolving

The make Method

You may use the make method to resolve a class instance out of the container(regardless of what type of parameter the object needs). The make method accepts the name of the class or interface you wish to resolve:

$api = $app->make('HelpSpot\API');

The mark method is the most important method I think of,You can simply use the "type prompt" way to add dependencies,the container will automatically parse all the parameters you need.

PSR-11

Laravel's service container implements the PSR-11 interface. Therefore, you may type-hint the PSR-11 container interface to obtain an instance of the Laravel container:

use Psr\Container\ContainerInterface;

$service = $app->get('Service');

LISTEN

MIT

Thanks

laravel-china


All versions of easy-container with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
psr/container Version ^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 godruoyi/easy-container contains the following files

Loading the files please wait ....