WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [Zend Framwork] Zend_CodeGeneratorでbooleanのプロパティ

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

Zend_CodeGeneratorを使うと簡単にPHPのクラスコードファイルを生成できて便利なのですが、クラスのプロパティの値にture、falseを使うと例外を投げます。


$file = new Zend_CodeGenerator_Php_File();
$class = new Zend_CodeGenerator_Php_Class();
$class
->setName('Test');
->setProperties(array(
array(
'name' => '_bool',
'visibility' => 'protected',
'defaultValue' => true,
));

$file->setClass($class);
$file->generate();
//例外
//Exception : I dont know this type
今のところだめっぽいので下のようにしてお茶を濁しました

->setProperties(array(
array(
'name' => '_bool',
'visibility' => 'protected',
'defaultValue' => '%TRUE%' ,//'%FALSE%'
));

$code = str_replace(
array("'%TRUE%'", "'%FALSE%'"),
array('true', 'false'),
$file->generate()
);


2010/12/18追記
見逃してたようで、たぶん?やり方が分かりました。

->setProperties(array(
array(
'name' => '_bool',
'visibility' => 'protected',
'defaultValue' => new Zend_CodeGenerator_Php_Property_DefaultValue('true'),
));
実はプロパティは試してなく、試したのはZend_CodeGenerator_Php_Parameter_DefaultValueの方ですが、間違いないでしょう。これでいけるはずです。


スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。