Dependency Injection in PHP OOPS
<?php
// Dependency Injection
class Logger
{
public function log($message)
{
echo "Logging Message : $message" . "<br>";
}
}
$logger = new Logger();
$logger->log("This is a message");
//Here below, "UserProfile" class is become dependent on "Logger" class.
class UserProfile
{
private $logger;
public function createUser()
{
/// create user.
$this->logger->log("User created.");
}
public function updateUser()
{
/// update user.
$this->logger->log("User updated.");
}
public function deleteUser()
{
/// delete user.
$this->logger->log("User deleted.");
}
public function __construct(Logger $logger)
{
$this->logger = $logger;
}
}
$logger = new Logger();
$profile = new UserProfile($logger);
$profile->createUser();
$profile->updateUser();
$profile->deleteUser();
// OUTPUT :
//Logging Message : This is a message
// Logging Message : User created.
// Logging Message : User updated.
// Logging Message : User deleted.
?>
Comments
Post a Comment