2008-08-27
インスタンスのメンバの値を、クラスのコンストラクタの引数として連想配列で受け取る。
とりあえずごりごりと書いてみたけど何かもっと良い方法がある気がするし、もっと綺麗な書き方が知りたいとおもた。
<?php class BarcodeGraph { public $color = "#bb0000"; public $background_color = "#ffaaaa"; public $width = 400; public $height = 20; public $bars = array(); public function __construct(Array $config) { $params = array("color", "background_color", "width", "height", "bars"); foreach ($params as &$param) { $param = "\$this->$param = isset(\$config['$param']) ? \$config['$param'] : \$this->$param;"; } eval(join("", $params)); } } $instance = new BarcodeGraph( array( "background_color" => "black" )); print $instance->background_color; ?>
