PHP Classes

PHP Simple Dependency Injection Container: Create object with a dependency defined at runtime

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-03-22 (6 months ago) RSS 2.0 feedNot enough user ratingsTotal: 30 All time: 11,119 This week: 61Up
Version License PHP version Categories
php-di 1.0The PHP License7.1Language, Design Patterns, PHP 7
Description 

Author

This package can create an object with a dependency defined at runtime.

It provides a dependency injection container compliant with PSR 11 (PHP Standard Recommendation) that can bind an interface with a given name with an interface that implements a desired functionality.

The package can also create an object given the name of the abstract interface.

Picture of Matheusz Maydana
  Performance   Level  
Name: Matheusz Maydana <contact>
Classes: 3 packages by
Country: Brazil Brazil
Age: 29
All time rank: 4199343 in Brazil Brazil
Week rank: 180 Up12 in Brazil Brazil Up
Innovation award
Innovation award
Nominee: 1x

Documentation

Container de Injeção de Dependência em PHP

Visão Geral:

Este é um simples e flexível container de injeção de dependência em PHP, projetado para facilitar a gestão de dependências em seus projetos. Com este container, você pode vincular abstrações a implementações, resolver instâncias de objetos e gerenciar instâncias únicas com facilidade e segurança.

Recursos:

  • Vinculação de abstrações a implementações.
  • Resolução de instâncias de objetos com base na abstração.
  • Suporte a instâncias únicas.
  • Funcionalidade de logging para monitoramento e depuração.
  • Limpeza e remoção de instâncias do container.
  • Implementação simples da interface PSR-11 (ContainerInterface).
  • Facilidade de uso e integração com diferentes tipos de projetos PHP.

Instalação:

Você pode instalar este container via Composer. Execute o seguinte comando no terminal:

composer require 19950512/php-di

Uso básico

use SeuNamespace\Container;

// Criar uma instância do container
$container = new Container();

// Vincular uma abstração a uma implementação
$container->bind('SomeInterface', 'SomeImplementation');

// Resolver uma instância de objeto com base na abstração
$instance = $container->make('SomeInterface');

// Verificar se uma abstração está vinculada ou uma instância está resolvida
if ($container->has('SomeInterface')) {
    // Faça algo
}

Contribuição:

Se você quiser contribuir com melhorias, correções de bugs ou novos recursos para este container, fique à vontade para abrir uma issue ou enviar um pull request no repositório do GitHub.

Licença:

Este container de injeção de dependência é distribuído sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.


  Files folder image Files (6)  
File Role Description
Files folder image.github (1 directory)
Files folder imagesrc (1 file)
Files folder imagetests (1 file)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (6)  /  .github  
File Role Description
Files folder imageworkflows (1 file)

  Files folder image Files (6)  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file php.yml Data Auxiliary data

  Files folder image Files (6)  /  src  
File Role Description
  Plain text file Container.php Class Class source

  Files folder image Files (6)  /  tests  
File Role Description
  Plain text file IndexTest.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:30
This week:0
All time:11,119
This week:61Up