より良い長期アップグレード/保守性、CakePHPまたはCodeIgniterを確保するために、どのフレームワークを使用する必要がありますか?

StackOverflow https://stackoverflow.com/questions/255082

質問

私は、PHPを試すためのフレームワークを決定しています。 CakePHPとCodeIgniterに絞り込みました。両方を使用したことがある、または両方に精通している方には、いくつか質問があります。

  1. CakePHPがデフォルトでwebrootの外にほとんどのコードを保持しているという事実が好きです。特に、複数のアプリに単一のフレームワークインストールを使用することがあるためです。 CodeIgniterもそれを行うと思いますが、それを設定し、いくつかのものを移動する必要があります。その回避策は安全で信頼できるものですか、それとも後からのハックですか?

  2. どちらが(両方ではないにしても)アップグレードしやすく、長期にわたって保守しやすいですか?フレームワークの新しいバージョン(およびPHP自体)が登場するにつれて。壊れたり、古くなったりするものを見つけたくありません。

編集:

これは非常に古い投稿ですが、最終的にはKohanaを使用することで最終的にやったことで更新すると思いました。

役に立ちましたか?

解決

両方のフレームワークを1週間程度試して、両方で簡単なもの(ブログやWikiなど)を構築し、どちらを使用するかを確認する必要があります。 あなたにとって最も理にかなっているものは何でも、アップグレードや非推奨を通じてあなたを最も長く支えてくれるでしょう。

CakePHPは現在少し不安定な状態にあり、バージョン1.2をリリースするためにプッシュしている間にバグを発見しています(後方互換性はありません)。堅実なものが今すぐ必要な場合は、重要なアプリケーションを構築することはお勧めしません。。物事が落ち着くまで1〜2か月待つことができれば、それはおそらく重要なポイントです。

懸念に対処するには:

1)CakeとCIは同じ方法で行います(iirc)。これらは同様に安全で、信頼性が高く、この点でハッキングされています。

2)すべてが変わります。安定性と下位互換性の具体的で永続的な保証が必要な場合は、独自のフレームワークを展開してください。それほど大したことはありません。あなたが望んでいない限り、何も変わらないことが保証されています。

他のヒント

CakePHPに複数のアプリケーションをデプロイしましたが、とてもいい経験になりました。どちらもしっかりしているので、どちらにしても間違ってはいけません。

  1. は問題ではありません。

  2. CodeIgniterには背後にスポンサーがいるので、長期的に選択するのは間違いなくスポンサーです。また、高速です。

  1. これは問題ではありません。アプリには、コアとアプリケーションコードの場所を示す2、3行があります。これらの行を変更するだけです。

  2. これを予測することはできません。

ここでは、PHPの状態はワイルドカードです。 1つのアプリ(CI)はPHP4と互換性があるように構築され、もう1つのアプリはPHP5を必要とします。 PHPの古いバージョンのみをサポートするWebホストの可能性に対処する必要がある場合は、COを使用する必要があります。

もう1つの問題は単体テストです。フレームワークにテストを同梱する必要がある場合、CIは使用できません。

個人的には、企業の支援によりCIに満足しています。 CIの背後にある会社は、彼らの努力から本当の利益を得ています。 CIは無料ですが、その有料製品(ExpressionEngine)は最終的にCIに残ります。 Zend FrameworkやRails(元々はBasecamp用に構築されたもの)の誕生についても同じことが言えます。

上記のコメントに対する小さな修正:どちらもCIだけでなく、PHP4と互換性があります。また、スポンサーがいるとCIがアップグレード可能または保守可能になるとは思いません。 Moneyはこれらの問題を少なくとも解決しません。

さまざまなアプリケーションにCakePHPを使用していますが、これまでのところ満足しています。 1.2は1.1よりも大幅に改善されており、ライブラリのソースはRC3からFinalに変更される可能性がありますが、作成するコードが時代遅れになるとは思いません。私の唯一の微妙な点は、マニュアルが必要以上に包括的なものではないということです(私の意見では)。そして、私はかなりAPIに行き着きます。トレードオフは、舞台裏のコードを非常によく理解していることです。いずれにせよ、私はそれを強くお勧めします。

一方で、CIをいじったことはないので、CakePHPをCIで 推奨することはできません。私はそれぞれを試してみて、どれがあなたをつかむかを見ます。どちらを選んでも、その慣習と能力から地獄を研究してください。 Cakeを始めたとき、Cakeが「自動で」行うようなことを行うためのコードを無意識のうちに書きました。コントローラーに1つの変数を設定してもらいました。

CodeIgniterは、一度試してみると非常に柔軟です。したがって、アプリケーションをどのように保守可能にするかは、あなたの手に落ちるでしょう。

同じインストールを使用して複数のアプリケーションを展開しました。通常、CMSプロジェクト用に2つのアプリケーションを作成します(1つは管理者用、もう1つはフロントエンド用)。

CodeIgniterの観点から両方の質問に対処するには(私はCakeを使用しません):

1)CodeIgniterはデフォルトではwebrootの外に自分自身を保持しませんが、いくつかの非常に簡単な変更でそれを行うことができます。 私のCIチュートリアルの最初の部分シリーズでは、その方法と、新しいCIインスタンスのセットアップの手順を説明しています。終了したら、webrootにある必要があるCIの唯一の部分は、小さなindex.phpブートストラップファイルです。

2)CI 1.4.xで最初に開発したアプリケーションがあり、1.5.xから1.6.xに正常に移行しました。新しいリリースごとに、CI開発者は、アップグレードがかなり簡単になるように、交換する必要があるものをレイアウトする詳細なアップグレード手順を利用可能にします。

ジム。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top