Download the PHP package chevere/container without Composer

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

Container

Build Code size PHPStan Mutation testing badge

Quality Gate Status Maintainability Rating Reliability Rating Security Rating Coverage Technical Debt CodeFactor

Summary

Chevere Container is a minimalist PSR-11 dependency injection container. It provides get and has for service container-interop, along with immutable with and without methods for modifying container entries.

It features automatic dependency resolution and injection. The container can automatically instantiate and inject class dependencies based on their constructor type hints. It also provides a Dependencies utility to collect, validate, and manage dependencies from multiple classes, ensuring type compatibility across the dependency graph.

Installing

Container is available through Packagist and the repository source is at chevere/container.

Container usage

Create a Container by passing the known dependencies. Entries are keyed by parameter name.

Design traits:

Checking entries

Use has to check if an entry exists in the container.

Retrieving entries

Use get to retrieve an entry from the container. It will throw ContainerNotFoundException if the entry is not found.

Adding entries

Use with to add or replace entries in the container.

Removing entries

Use without to remove entries from the container.

Auto-injection

The container can automatically resolve and inject dependencies.

Resolving dependencies

Use withAutoInject to get a new container instance with resolved dependencies.

This will automatically create instances for services like MyController and MyMiddleware if they are not already in the container, resolving their own dependencies recursively.

Extracting arguments

Use extract to get the constructor arguments for a class from the container.

Dependencies

The Dependencies class is used to collect constructor dependencies from multiple classes. It helps to identify required services and validates against type compatibility.

Reading classes

Use classes to get a list of component classes in the collection.

Adding more dependencies

Use withClass to add more class dependencies to the collection. Returns a new instance with the specified classes added.

Accessing parameters

Use parameters to get a ParametersInterface instance reflecting all dependencies as Parameters.

Checking class dependencies

Use has to check if a specific class name defines dependencies.

Retrieving class parameters

Use get to retrieve the parameters (dependencies) for a known class name.

Extracting constructor arguments

Use extract to get the typed constructor arguments for a class from a container.

Identifying dependency requirer

Use requirer to identify which class declared a specific dependency.

Validating container dependencies

Use assert to check if a container has all the required dependencies. It will throw a LogicException if any dependency is missing or if there's a type mismatch.

Documentation

Documentation is available at chevere.org.

License

Copyright Rodolfo Berrios A.

Chevere is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


All versions of container with dependencies

PHP Build Version
Package Version
Requires chevere/data-structure Version ^1.1
chevere/parameter Version ^2.0.0
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 chevere/container contains the following files

Loading the files please wait ...