こんばんわ、モリです。
今回もCakePHPを使った感想を書いていきます。
今回気になってのは、Formヘルパーのradioメソッドです。
FormヘルパーはHTML用のFORMタグを生成する上で欠かせないものです。
その中のradioメソッドが、正直使えません。
機能としては間違いなく必要ですし、無いと困ります。
生成されるタグにも問題ありません、指定方法も。
しかしこのままでは使用できません。
それはなぜか?
それは、PHP特有の0(ゼロ)の取り扱いを考慮していないからです。
PHPを普段から使っている方は分かると思いますが、PHPでは0と空文字を==で結ぶとtrueが返ってきます。
Formヘルパーのradioメソッドはcheckedの付与処理時にこの事を考慮されていなかったんです。
その為、可・不可等の0を値とする配列を扱う場合はこのメソッドは使用できません。個別に拡張する必要があります。
前の記事で、CakePHPでデフォルトで対応して欲しかった点というのはこういった所ですね。
実に基本的な点だとは思うのですが、大事な部分です。
今の案件では1.2系を使用していますが、開発中に1.3.0のstable版が出ましたので、そちらでは対応しているかもしれませんね。
今度確かめてみます。
では、今日はここまで。
前回、今回と悪い点を書いたので、次は良い点を書こうと思っています。
CakePHPには良い点は沢山ありますから。
今回もCakePHPを使った感想を書いていきます。
今回気になってのは、Formヘルパーのradioメソッドです。
FormヘルパーはHTML用のFORMタグを生成する上で欠かせないものです。
その中のradioメソッドが、正直使えません。
機能としては間違いなく必要ですし、無いと困ります。
生成されるタグにも問題ありません、指定方法も。
しかしこのままでは使用できません。
それはなぜか?
それは、PHP特有の0(ゼロ)の取り扱いを考慮していないからです。
PHPを普段から使っている方は分かると思いますが、PHPでは0と空文字を==で結ぶとtrueが返ってきます。
Formヘルパーのradioメソッドはcheckedの付与処理時にこの事を考慮されていなかったんです。
その為、可・不可等の0を値とする配列を扱う場合はこのメソッドは使用できません。個別に拡張する必要があります。
前の記事で、CakePHPでデフォルトで対応して欲しかった点というのはこういった所ですね。
実に基本的な点だとは思うのですが、大事な部分です。
今の案件では1.2系を使用していますが、開発中に1.3.0のstable版が出ましたので、そちらでは対応しているかもしれませんね。
今度確かめてみます。
では、今日はここまで。
前回、今回と悪い点を書いたので、次は良い点を書こうと思っています。
CakePHPには良い点は沢山ありますから。