Je n'arrive pas à comprendre le code pour fonctionner? Je ne sais pas pourquoi? Est-ce même possible?Surcharge de méthode et héritage de classe
Je veux toujours appeler une classe par défaut et ses méthodes. Mais en réalité en fonction du paramètre donné. Je veux charger des méthodes de ce client specifiec?
<?php
#System Defaults
namespace DefaultNameSpace;
class defaultClass{
private $property;
public function __construct($cusotmer)
{
if (isset($cusotmer)){
$namespace = '\Customer' . $cusotmer .'Namespace\defaultClass';
# create new dynamic object
return new $namespace();
} else {
return $this;
}
}
public function printInvoice(){
echo 'Default Print';
}
public function createInvoice($invoice){}
}
#Customer One defaults
namespace CustomerOneNamespace;
class defaultClass extends \DefaultNameSpace\defaultClass {
private $property;
public function __construct()
{
return $this;
}
public function printInvoice(){
echo 'Customer One';
}
public function createInvoice ($invoice){
echo 'Create invoice Customer One '.$invoice;
}
}
# Customer Two Defaults
namespace CustomerTwoNamespace;
class defaultClass extends \DefaultNameSpace\defaultClass {
private $property;
public function __construct()
{
return $this;
}
public function printInvoice(){
echo 'Customer Two';
}
}
# Call alsways default Class
$test = new \DefaultNameSpace\defaultClass('Two');
$test->printInvoice();
$test->createInvoice('123456');
?>
Le constructeur ne peut rien retourner. –