2

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

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

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

編集:

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

4

7 に答える 7

4

両方のフレームワークを1週間ほど試して、両方で些細なこと(ブログやウィキなど)を作成し、どちらを使用するかを確認する必要があります。あなたにとって最も理にかなっているものは何でも、おそらく非推奨のアップグレードを通じてあなたを最も長く維持するでしょう。

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

あなたの懸念に対処するには:

1)CakeとCIは同じ方法でそれを行います(iirc)。それらは、この面で同様に安全で、信頼性があり、ハックです。

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

于 2008-11-07T01:33:32.357 に答える
2

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

于 2008-10-31T23:40:34.273 に答える
1
  1. は問題外です。

  2. CodeIgniter にはスポンサーが付いているので、長期的には間違いなくこれが選ばれます。また、高速です。

于 2008-10-31T22:03:34.110 に答える
0

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

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

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

于 2008-11-12T00:43:56.920 に答える
0

CodeIgniterは、試してみるとわかるように非常に柔軟性があります。したがって、アプリケーションをどのように保守可能にするかは、あなたの手に委ねられます。

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

于 2008-11-17T04:02:27.943 に答える
0
  1. これは問題ではありません。アプリには、コアとアプリケーション コードがどこにあるかを示す行がいくつかあります。これらの行を変更するだけです。

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

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

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

個人的には、企業の支援があるため、CI は快適に使用できます。CI の背後にある会社は、彼らの努力から真の利益を上げています。CI は無料ですが、彼らの有料製品 (ExpressionEngine) は最終的に CI 上で動作します。Zend Framework や Rails の誕生についても同じことが言えます (元は Basecamp 用に作成されました)。

于 2008-10-31T22:14:39.517 に答える
0

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

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

2) CI 1.4.x で開発したアプリケーションを持っていますが、1.5.x から 1.6.x への移行に成功しました。新しいリリースごとに、CI 開発者は詳細なアップグレード手順を利用できるようにし、何を置き換える必要があるかを示しているため、アップグレードはかなり簡単です。

ジム。

于 2008-12-09T07:10:05.313 に答える