インスタンスのメンバの値を、クラスのコンストラクタの引数として連想配列で受け取る。

とりあえずごりごりと書いてみたけど何かもっと良い方法がある気がするし、もっと綺麗な書き方が知りたいとおもた。

<?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;
?>

link_to_remote(Ajax)を使った場合に起こるActionController::MethodNotAllowedの解決策

link_to_remoteでページを呼び出すときのメソッドはデフォルトでGETにならない。よって、GETで呼び出すはずのページをメソッドを指定せずにlink_to_remoteで呼び出すとエラーが起こる。
解決策は明示的にメソッドを指定する。link_to_remote "link", :url => hogehoge_path, :method => :getとする。