- var_dump: documentation ( source)
<?php
declare(strict_types=1);
interface Factory
{
public function build(): Product;
}
interface Product
{
}
class A implements Product
{
}
class B implements Product
{
}
class FA implements Factory
{
public function build(): Product
{
return new A;
}
}
class FB implements Factory
{
public function build(): Product
{
return new A;
}
}
class Client
{
private $f;
public function __construct(Factory $f)
{
$this->f = $f;
}
public function payload()
{
var_dump($this->f->build());
}
}
$fa = new FA;
$clientA = new Client($fa);
$clientA->payload();
$fb = new FB;
$clientB = new Client($fb);
$clientB->payload();