最近はまじめにプログラムを書いています。あるサイトを再構築しているのですが、これまた大昔に作ったものでフレームを使っています。
試しにCakePHPで作成してみます。しかも、最新のCakePHP2です。
CakePHP2になるとUnitTestがSimpleTESTからPHPUnitiに変わりました。いろいろとカンファレンスに話しを聞いていると、アジャイルとか自分は感化されやすいので、まずはUnitTestでのテスト駆動開発を導入してみます。バージョン管理は前に導入していましたが、徐々に試してみます。
こうでも新しいことをしていないと、だんだんを開発のモチベーションが上がらないので。何でも試すことができるのは、一人で動いているせいでしょうか。
CakePHP2で使うPHPUnitの情報は、Googleさんに聞いてもほとんどありません。日本語での情報はありません。一番詳しいのは、CakePHP2のCook Bookです。ますはこちらを読むことを薦めます。結局、本家CakePHPにたどり着きました。英語ですけど、何とか読めます。
PHPUnitも開発元のサイトが一番詳しいということになりました。こちらは日本語に翻訳されています。
Fixruresのファイルは、CakePHPのBakeで作成するのが簡単のようです。DBから直接Fixturesにインポートすると、ちょっと大きなテーブルだとメモリが一杯になります。ソースを追ってみたところ、メモリにテーブルデータをすべて展開しているようです。最初は、何かバグでもあるのかと思っていました。Bakeで途中で聞いてきますが、一部を切り出した方がよさそうです。
テスト駆動開発は最初にテストコードを書いてからソースコードを書くのですが、まだまだテストコードを書くのを忘れて、直接コードを書いてしまいます。こちらは癖を付けなければいけません。
恩恵としては、リファクタリングするときはやはり効果があります。あとはエラーの赤を消して、緑にするという目標があって、プログラミングは楽しくなりそうです。
しかし、まだまだ、どうやってテストを書くのがいいのか迷います。我慢してしばらく続けようと思います。
Google+: View post on Google+
“テストから始めてみます、という話し” への4件のフィードバック
PHPのフレームワークは、いくつかありますがどれがいいんですかね?
残念ながら、CakePHPしか使ったことがないので、PHPのフレームワークの比較はできないのですよ。
慣れたものが一番ということになりますかね?
Symfony2とCakePHPが、有名所ですかね。自分はまだどちらも使った事無いので、時間があれば触れておきたいところです。
グループで作業していらっしゃるのなら、話し合ってみんなで使えるものがいいかも。無理矢理CakePHPでぶち上げたら、一人ついてこない人がいて、その部分のメンテがめんどくさかった。
あと、生成してくれるSQLはとんでもないものがでてくるので、チューニングは必要です。そうでないと、遅くて使えません。
巷に情報が多いフレームワークがよさそうです。