- var_dump: documentation ( source)
<?php
class Doge
{
private $name;
protected $whatever;
public $yolo;
public function __construct($name, $whatever = null) {
$this->name = $name;
$this->whatever = $whatever;
}
public function getName()
{
return $this->name;
}
public function getWhatever()
{
return $this->whatever;
}
public function equalsWithSameType(self $other)
{
if ($other->name === $this->name
&& $other->whatever === $this->whatever
&& $other->yolo === $this->yolo) {
return true;
}
return false;
}
public function equalsWithSubType(DogeCoin $sub)
{
if ($sub->name === $this->name
&& $sub->whatever === $this->whatever
&& $sub->yolo === $this->yolo) {
return true;
}
return false;
}
public function equalsWithRandomType(SomethingElseCompletely $whatever_man)
{
if ($whatever_man->name === $this->name
&& $whatever_man->whatever === $this->whatever
&& $whatever_man->yolo === $this->yolo) {
return true;
}
return false;
}
}
class DogeCoin extends Doge
{
private $name;
}
class SomethingElseCompletely
{
private $name;
}
$first_doge = new Doge('a');
$second_doge = new Doge('b');
$first_dogecoin = new DogeCoin('b');
$second_dogecoin = new DogeCoin('a');
$first_somethingelsecompletely = new SomethingElseCompletely('a');
$second_somethingelsecompletely = new SomethingElseCompletely('a');
// var_dump(
// $first_doge,
// $second_doge,
// $first_dogecoin,
// $second_dogecoin,
// $first_somethingelsecompletely,
// $second_somethingelsecompletely
// );
var_dump($first_doge->equalsWithSameType($second_doge));
var_dump($first_doge->equalsWithSubType($first_dogecoin));
var_dump($first_doge->equalsWithRandomType($first_somethingelsecompletely));