これまで開発したPHPシステムをCakePHPに移行(作り直し)しようと思っているのですが、以下の理由により二の足を踏んでいます。


○小規模サイトでは必要無い?
→例えばお問い合わせフォームのみであったり、PC・携帯表示切替だけのサイトであったり、簡単なプログラムの場合、使わない方が良いのではないか?
○第三者に提供する場合のソースのわかりにくさ
→PHPシステムを無料配布しているのですが、CakePHPにする事で設置する難易度が上がるのでは?
○重くなるのではないか
→xdebugをしてみると、大量のファイルを毎回読み込んでいるので、サイトが大きくなると付加が増えるのではないかと危惧しています。
○これまで作成したプログラムやライブラリが勿体なく感じる
→venderに入れたり、コンポーネント化して使う方法もありますが

ただ一方で、移行する事によるメリットも十分理解できておりますので
他の人はどういうきっかけで移行した(CakePHPやフレームワーク中心の開発にした)
のか知りたいと思い、質問しました。

経験がある方は体験談を教えて下さい。
(出来るだけ詳しく記載された方には、多めにポイントを付与します)

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/10 21:09:29
  • 終了:2010/08/17 07:17:57

回答(1件)

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 rockwell8 1 0 0 2010-08-12 09:59:20
  • id:yamaneroom
    yamaneroom 2010/08/10 21:26:15
    CakePHPはフレームワークなんだから、「移行」という表現はおかしいのでは?
  • id:k27w
    「移行」を辞書で調べると「ある状態から他の状態へ移っていくこと」とあります。
    今までの作り方(俗に言う、オレオレフレームワーク)からCakePHPに作り替えるという事は=移行と言って良いのではないでしょうか?

    どちらにしろ、体験談が聞きたいので表現は気にしないで下さい。
  • id:tdoi
    個人的な感覚ですが、既存のシステムがあり、そこに大規模に手を加える必要がなければ、CakePHPに移行するメリットはないと思います。

    一般論になりますが、フレームワークを導入するメリットは、以下のURLにまとめられています。
    http://www.phppro.jp/article/framework/framework.php

    このメリットを見てもらうと分かると思いますが、「大規模な開発」で「開発効率を上げる」ことが大きな利用目的となります。そのため、既に開発されているシステムで、かつ、これからも大きな修正を加えるのでなければ、移行する意味はないと思います。

    ただ、これからも頻繁にアップデートを繰り返していくようなシステムであるのであれば、今後のメンテナンスの効率化など、フレームワークの恩恵があずかれるため、メジャーバージョンアップの際に、検討する価値はあるかと思います。

    k27wさんは、移行するメリットを理解されているとのことですが、どのようなことをメリットとしてとらえておりますか?


    さて、経験から言うと、スクラッチから構築したシステムをCakePHPに移行したことはありません。上記のようにその移行に対するコストが、移行によるメリットよりはるかに大きいと判断されるものばかりだったためです。
    また、逆に、新規で開発するシステムに関しては、CakePHPは大変役に立ちました。
    スクラッチで記述するよりも、仕様変更が発生しても修正が容易であったり、簡単なプロトタイプを見せる状態にまでは、すぐできますので。

    個々の懸念事項について、個人的な感想を述べさせてもらいますと、

    ○小規模サイトでは必要無い?
    CakePHPを使わない方がいいとは言いませんが、将来的に拡張を考えているのでなければ、使うメリットもさほどないかなと思っています。小規模サイトでも使ったりしましたが、これはどちらでもいいと思っています。

    ○第三者に提供する場合のソースのわかりにくさ
    mod_rewriteが動作することなど、いくつか制限事項が発生するのは確かでしょうね。
    ただ、これは配布先としてどのようなユーザを想定するかではないでしょうか?素人がブログを始める感覚で、サーバにおけばいいって感じで使わせたいのであれば、避けるべきでしょう。
    ただ、いずれにしろDBの設定など必要になるでしょうから、配布先がエンジニアを想定しているのであれば、配置方法などを明確にしておけば、問題ないかなと思います。
    ソースの見やすさに関して言えば、スクラッチで人が書いたコードよりも、僕はフレームワークに従って記載されたコードの方が読みやすいと思っています。それは、仮にそのフレームワークの知識が乏しくてもです。
    これもどんな人にソースを読ませたいかですが、人がスクラッチで書いたソースに手を加える能力がある人ならCakePHPをちょっと調べれば理解できるでしょう。そして、理解してしまえば、DBの設定はどのファイルに記載されているなどがはっきりして、一層読みやすいでしょう。
    また、プラグイン的なものをユーザに書いて欲しいだけならば、そのプラグインの作成ドキュメントと、サンプルを用意すれば、CakePHPであろうとなかろうと同じように扱えるのではないでしょうか?

    ○重くなるのではないか
    これは重くなります。速度が重視されるような場所はCakePHPを使いながらも適宜回避する必要があります。PHPアクセラレータなどを利用しても問題となるページなどは、別途対処する必要があります。個人の提供するサービスであれば、十分だとは思いますが、どれだけのパフォーマンスが要求されるかということ次第でしょう。

    ○これまで作成したプログラムやライブラリが勿体なく感じる
    どんなものか分からないと何とも言えませんが、再利用する設計をしていなかったプログラムやライブラリはどのみち再利用できません。再利用するなら書き換えが必要なので、vendors、plugins、componentsなどに書き換えるのはいいかと思います。


    ということで、長くなりましたが、僕の結論としては、

    新規で作りものすごいパフォーマンスを要求されるのでなければCakePHPを利用する。
    既存のシステムの修正はよほどの理由がない限り、CakePHPに移行はしない。

    でよいと思っています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません