How to use PHP-DI in SysMVC.
SysMVC uses the PHP-DI library to manage dependency injection. This allows you to write more modular and testable code.
To configure PHP-DI, you can create a di-config.php
file with the definitions of your dependencies:
use DI\ContainerBuilder;
return function (ContainerBuilder $containerBuilder) {
$containerBuilder->addDefinitions([
// Define your dependencies here
ClientRepository::class => \DI\create(MySqlClientRepository::class),
]);
};
To use dependency injection in your classes, simply pass the dependencies through the constructor:
class ClientService {
private $clientRepository;
public function __construct(ClientRepository $clientRepository) {
$this->clientRepository = $clientRepository;
}
public function getClients() {
return $this->clientRepository->findAll();
}
}
With dependency injection, you can easily swap implementations and keep your code decoupled and more testable.
Github: https://github.com/syspanel/SysMVC.git
If you're interested in SysMVC, get in touch:
If you wish to support the development of SysMVC, consider making a donation via PAYPAL to