ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

PHPとCakePHPの感想

PHPをさわって1ヶ月経ちました。
その感想です。


仕事ではコンパイラ言語のJavaを使っています。
PHPのようなスクリプト言語系はJavascriptしか触ったことがありません。
PHPインタプリタなので実行しないとどこが悪いかわからないのでデバッグが大変に感じました。


文法的には同じ感じなので問題はありませんでした。
慣れが必要と感じたのがメソッドの呼び出し。
Javaでは「Class.method」なのにPHPでは「Class->method」となります。
「.」でこと足りてたのに2回キーを押さないといけなくてめんどくさいのと、タイプ漏れがたまにあります。
あと静的メソッドは「::」なのも違和感ありました。


一番困ったのが実行時にしかエラーがでないので、どの変数が使われているか把握できないことです。
クラス変数を参照する時は$thisをつけないといけないらしく、つけないとスコープの範囲が近い変数を見に行きます。
オブジェクト指向対応なんですけど、関数が多いのでまだまだそれには遠いなと感じました。


今のPHPってVB6からVB.NETに移行してる状況と同じに感じました。
手続き型とオブジェクト型の考えが入り交じってます。
定数で言うと、defineとstaticです。


残念ながら今の所PHPを魅力的に感じないです…。
PHP使ってる人はすごいなーと思いました。
GREEなんてめっちゃ大規模でPHPなんですよね。
大規模でPHPを使うとメンテナンス大変そうな感じがします。


PHPフレームワークCakePHPを使いながら開発してるのでそれの感想も。


ログイン、マスターの作成までしました。
規約にそえば簡単に扱えますが、使っていくとそういうわけにはいかないので規約が邪魔になってきました。
ネットで調べてまずやったことはModelをControllerから分離する設定です。
とにかくModelに癖がありすぎて使いにくい。
それとフレームワークなのに何かと本体をいじらないといけない、ソースをおわないといけないしビジネスロジックの作成以外に時間を取られて集中できません。
いったい何のためのフレームワークなのかよくわからない感じがしました。
O/Rマッパーに関してはSQLの発行に問題がありますが便利です。


日本語の情報量は多い方です。調べたら答えはあります。
しかし、情報がまとまっていないのといろんなやり方が書いてあるので判断がつきにくいです。
CakePHPの特徴でもある「いろんなやり方ができる」っていうことなんでしょうね。
フレームワークとして一貫性がないのはちょっと問題だと思いました。


個人的にはあんまりおすすめなフレームワークでありません。


スクリプト言語系のフレームワークはなにかとMVCモデルっていうのを押してるんですね。
その割にはModelが独立してないんです。
MVCについては次を参考に。
Life is beautiful: Ruby on Railsの「えせMVC」の弊害


フレームワークを使うにあたってはやっぱり下調べが必要ですね。
今作ってるWebサービスが完成したらRubyに移行する予定です。
Rubyに関しても事前に調べてからやり始めようかと思ってます。