1. Go to this page and download the library: Download david2m/syringe 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/ */
david2m / syringe example snippets
class UserMapper
{
}
$mapper = $injector->make('UserMapper');
class PdoAdapter
{
}
// UserMapper.php
public function __construct(PdoAdapter $pdoAdapter)
{
}
$mapper = $injector->make('UserMapper');
class PdoAdapter
{
public function __construct($host, $user, $password, $schema)
{
}
}
class PdoAdapter implements DatabaseAdapterInterface
{
}
// UserMapper.php
public function __construct(DatabaseAdapterInterface $dbAdapter)
{
}
$injector->setMapping('DatabaseAdapterInterface', 'PdoAdapter');
// You can also add multiple mappings at once
$injector->addMappings([
'DatabaseAdapterInterface' => 'PdoAdapter',
'AbstractClassName' => 'AnotherConcreteImplementation'
]);
// The regular expression ^PdoAdapter$ will match the classname PdoAdapter
$injector->setFactory('^PdoAdapter$', function()
{
return new PdoAdapter('localhost', 'david', 'mypassword', 'my_database_name');
});
$pdoAdapter = $injector->make('PdoAdapter'); // Factory instantiates the object.
namespace Service;
class Recognition
{
}
class Shopping
{
}
class ServiceFactory
{
public function create($className)
{
// Instantiate and return the object.
}
}