Download the PHP package matecat/simple-dic without Composer
On this page you can find all versions of the php package matecat/simple-dic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download matecat/simple-dic
More information about matecat/simple-dic
Files in matecat/simple-dic
Package simple-dic
Short Description Simple DIC Client
License MIT
Homepage https://github.com/matecat/simple-dic
Informations about the package simple-dic
Simple DIC
Simple DIC is a simple Dependency Injection Container(DIC).
Basic Usage
To init DIC you must provide a configuration file. Use initFromFile
method:
Here is a sample (in YAML format):
After pass the name of dependency, you can specify:
class
: the full qualified class namearguments
: an array of arguments to pass to instantiate the class from the constructormethod
: if you want to run a specific method of the class (method could be static or not not)method_arguments
: an array of arguments to pass to instantiate the runned class method
If you want to pass an entry already present to other one, simply use the '@' symbol.
Change Caching Directory
You cah use setCacheDir
to setup yor cache directory. Do this before invoke initFromFile
method:
Parameters
If you want to use a separate parameters file, you can use DICParams
class. Take a look at the following example of params configuration file
(YAML format):
You can setup DICParams
class now:
And then, you can use '%' synthax in your DIC configuration file. Please bear in mind that you MUST set parameters before instantiate DIC.
Environment Variable Support
To use your environment variable, simply follow the %env(xxxx)%
synthax, consider this example:
Retrieve an entry
In order to retrieve an entry use get
method:
Please note that the method returns:
false
if the entry has a wrong configuration;NULL
if the entry does not exists.
Lazy loading and automatic caching
The entries are lazy-loaded when you invoke get
or has
method for the first time.
If you have apcu enabled on your system, DIC will automatically cache the entry in APCU store. Please note that the id in cache always refers to the sha1() of the init file.
Commands
If you have an application which uses Symfony Console, you have some commands available:
- Dumps the entry list in the DIC.
You can register the commands in your app, consider this example:
Support
If you found an issue or had an idea please refer to this section.
Authors
- Mauro Cassani - github
License
This project is licensed under the MIT License - see the LICENSE.md file for details