Skip to Content
PHPCODE
Polymorphism in php
oops code / August 12, 2018
Step 1 :Created Polymorphism this code hire
<?php
function __autoload($class)
{
include_once “classes/$class.php”;
}
function getLogger($type)
{
switch($type)
{
case ’email’:
return new Emaillogger();
break;
case ‘database’:
return new DBLogger();
break;
case ‘File’:
return new FileLogger();
break;
}
}
$logger=getLogger(’email’);
$profile=new UserProfile($logger);
$profile->createUser();
?>

step 2 :Created classes folder and DBloger.php
<?php
class DBLogger implements LoggerInterface
{
public function log($message)
{
echo “Logging message to DB: $message”;
}
}
?>

step 3 Created classes folder and EmailLogger.php
<?php
class Emaillogger implements LoggerInterface
{
pubic function log($message)
{
echo “Loggin message to email: $message”;
}
}
?>
step 4 Created classes folder and FileLogger.php
<?php
class FileLogger implements Loggerinterface {
public function log($message)
{
echo “Loggin message to file : $message”;
}
}
?>
step 5 Created classes folder and  Loggerinterface.php
<?php
interface Loggerinterface
{
public function log($message);

}
?>
step 6 Created classes folder and UserProfile.php
<?php
class UserProfile
{
private $logger;
public function createuser()
{
echo “Creating user.”;
$this->logger->log(“User Created.”);
}
public function updateuser()
{
echo “Updating User”;
$this->logger->log(“User Updateing”);
}
public function deleteuser()
{
echo “Deleteing user.”;
$this->looger->log(“Deleteing User.”);
}
public function __construct(Loggerinterface $logger)
{
$this->logger=$logger;
}
}
?>

PHPCODE © 2023