- property_exists: documentation ( source)
<?php
/**
* Game
*/
final class Game
{
protected $start;
protected $rounds;
/**
* @param int $start
* @param int $rounds
*/
public function __construct($start = 1, $rounds = 100)
{
$this->start = $start;
$this->rounds = $rounds;
}
/**
* @param string $propertyName
*
* @return mixed
* @throws \InvalidArgumentException
*/
public function __get($propertyName)
{
if (property_exists($this, $propertyName)) {
return $this->$propertyName;
}
throw new \InvalidArgumentException('The property '.$propertyName.' does not exists in '.get_class($this));
}
}
$game = new Game();
echo $game->start.'/'.$game->rounds;