1. Go to this page and download the library: Download marcosh/fundic library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
marcosh / fundic example snippets
interface ValueFactory
{
/**
* @return mixed
*/
public function __invoke(ContainerInterface $container, string $name);
}
$container = TypedContainer::create();
$container = $container->add($key, $factory);
// create a new empty container
$container = Psr11Container::create();
// instructs the container on how to build the object
// associated with the provided key
$container = $container->add('foo', $factory);
$container->has('foo'); // returns true
$object = $container->get('foo'); // retrieves the object associated to the key
$value = // your constant that needs to be stored in the container
$container->add('foo', new ConstantFactory($value));
$container->get('foo');
class Foo { ... } // no non optional dependencies in the constructor
$container->add(Foo::class, new ClassNameFactory(Foo::class));
$container->get(Foo::class);
$callable = function (ContainerInterface $container, string $name) { ... };
$container->add(Foo::class, new CallableFactory($callable));
$container->get(Foo::class);
class Foo { ... }
$container->add(Foo::class, new Memoize(new ClassNameFactory(Foo::class)));
$container->get(Foo::class); // a new instance of Foo is built and returned
$container->get(Foo::class); // the same instance of Foo is returned
class Foo { ... } // class which is heavy to build
$container->add(Foo::class, new Proxy(new ClassNameFactory(Foo::class)));
$foo = $container->get(Foo::class); // returns a proxy
$foo->bar(); // here we really instantiates Foo and call the bar method on it
bash
php vendor\bin\phpunit
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.