Keyword Constructor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux