- var_dump: documentation ( source)
<?php
class Animal
{
protected $color;
protected $length;
private function __construct(){}
public static function fromLength($length)
{
$animal = new self();
$animal->length = $length;
return $animal;
}
public static function fromColor($color)
{
$animal = new static();
$animal->color = $color;
return $animal;
}
}
class Dog extends Animal
{
}
class Snake extends Animal
{
}
$myAnimal = Animal::fromColor('red');
$mySnake = Snake::fromLength(10);
$myDog = Dog::fromColor('brown');
var_dump($myAnimal);
var_dump($mySnake);
var_dump($myDog);