Affamative Way

前向きにグダグダいいながらコード書く

scaffoldで怒られる。

scaffoldっておもしれーって思っていたら。
なんか"_"区切りのDB名だと上手くいかないで怒られる。。

Notice: Trying to get property of non-object /path/to/cake/libs/controller.php L666

ちょいと、追ってみたらココが原因らしい
/path/to/cake/libs/class_registry.php L111〜

<?php
class Controller extends Object{function &getObject($key) {
		$_this =& ClassRegistry::getInstance();
		$key = strtolower($key);
		return $_this->_objects[$key];
	}

$_this->_objects の中身を見ると"_"がない小文字になってる。
だもんで"_"取ってやったら正常動作した。

<?php
class ClassRegistry{function &getObject($key) {
		$_this =& ClassRegistry::getInstance();
		$key = str_replace( '_', '', strtolower($key));
		return $_this->_objects[$key];
	}

ただ、どこが原因かがつかめないのでもうちょい調べてみる。。。


DB名の規約見る限りでは大丈夫そうなんだけども。。。
○"CakePHPシステムデザイン(最新規約)" フォーラム - CakePHP Users in Japan
http://cakephp.jp/modules/newbb/viewtopic.php?forum=3&post_id=650&topic_id=369