Download the PHP package kyrill/php-di-container without Composer
On this page you can find all versions of the php package kyrill/php-di-container. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kyrill/php-di-container
More information about kyrill/php-di-container
Files in kyrill/php-di-container
Package php-di-container
Short Description A php dependency injection container
License MIT
Informations about the package php-di-container
php-di-container
Dependency injection container in PHP
This is a simple automatic dependency injection container in PHP.
Basic setup
To install this package, run the following command in the root of your project:
Usage
Create a container
You can create a container by instantiating the Container
class.
Register a class
Register a class with a function
You can register a class with a function. First give the clas an unique name, then put the class: "class definition" in the function in the class definitions gave it the namespace of the class and the arguments. after that define if the class is a singleton or not. If you don't want to use arguments you can leave the array empty.
Register classes by a file
You can make a json file with the following structure, to register the classes, aliases or interfaces:
You can use aliases to register classes or interfaces. Aliases are useful if you want to use a class or interface with a different name. For aliases and interfaces you have to use the class
key. The arguments
key is optional. If you want to use a class or interface without arguments.
Register class by function
To register the file you need to make a FileReader
class. This class needs to implement the FileReaderInterface
. You can register the file by using the registerFile
function. By default there is a JsonFileReader
class. This class reads a json file and registers the classes or interfaces. But you can make your own FileReader
class.
Get a class
You can get a class by using the resolve
function. If want to get an alias you just put the aliasname with quotes like this: 'aliasname' in the function.
make your own FileReader
To make your own FileReader
class you need to implement the FileReaderInterface
. This interface has one function readFile
. This function needs to return an array with the classes, aliases or interfaces.
License
This project is licensed under the MIT License - see the LICENSE.md file for details