For a long time I wanted keyword parameters in PHP. But thanks to
newer features like traits and reflection classes I have come up with
something that looks pretty close.
trait KeywordConstructor {
public function __construct($members) {
$class = new ReflectionClass($this);
$properties = $class->getProperties();
foreach ($properties as $p) {
$name = $p->getName();
if (isset($members[$name])) {
$this->$name = $members[$name];
}
}
}
}
class User {
use KeywordConstructor;
private $name;
private $age;
}
$lobby = new User(['name' => 'Lobby', 'age' => 36]);
Right now this requires the trunk version of PHP to work. I just
wanted to share this in case anyone finds it interesting and/or
useful.
--
ejmr
南無妙法蓮華經
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php