ホームページ > 記事 > PHPフレームワーク > ci フレームワークと thinkphp の違いは何ですか
違い: 1. CI はバインディング テンプレートをデータベース上で強制的に操作しませんが、ThinkPHP は強制します; 2. ThinkPHP は使いやすさに注意を払い、多くの関数アシスタントを提供しますが、CI の使用はより煩雑です3. CI のビュー ファイルは構成できませんが、TP のビュー ファイルは構成可能です。 4. TP ではさまざまなデバッグ方法が提供されますが、CI では提供されません。
このチュートリアルの動作環境: Windows 7 システム、thinkphp v5.1 バージョン、Dell G3 コンピューター。
ThinkPHP と CI の機能比較:
モデル: テンプレートはデータの操作に相当します データはたくさんありますストレージの形式: データベース、ファイル システム、メモリなど。 CI はバインディング テンプレートをデータベース上で動作させることを強制しませんし、ThinkPHP (以下、TP) はデフォルトでデータベースの動作と強く関連しています。実際に実際に操作されるデータは一般的にデータベースからのものですが、他のストレージタイプのデータを操作したいですか?実際、TP にはデータを操作するための便利なインターフェイスが多数用意されているだけですが、これらのインターフェイスを使用しない限り、それらは分離されたままであり、ストレージ タイプのドライバーは、ファイル データの操作に変更するなど、構成可能です。したがって、TPの方がはるかに便利です。
ネームスペースの使用。 CI 関係者は、名前空間によってもたらされる利便性と優雅さを理解していません。 CI が $this->load() を使用して異なるモジュールから 2 つのモデルをインポートすると、競合が発生するはずです。オーバーライドできるはずですが、使用するのが不便です。
TP は使いやすさを重視しているため、多くの関数アシスタントが提供されています。一般に、通常の使用方法は $a=Class::function(); です。アシスタントを使用すると、通常 $a = class(); になりますが、はるかに便利です。慣れてください。 CI で $this->class->function() を書くのは面倒で退屈です。
ビューとテンプレートについて話しましょう。 CIのビューファイルの保存場所はapplication/view配下にあり設定できませんが、少なくとも私が調べた限りでは設定できる場所は見つかりませんでした。 TP のビュー ディレクトリは構成可能であり、必ずしもアプリケーションの下にある必要はなく、安全なアクセスとビューのカスタマイズと置換の利便性が向上します。
テンプレートの場合、CI 実装は比較的役に立ちません。テンプレート解析クラス $this->load->library('parser'); はありますが、これは左側のコードを通じてロードできますが、実現できるのは変数の単純な置き換え。より複雑な制御構造は実装できず、最終的にはネイティブ PHP コードで実装する必要があります (公式もネイティブの使用を推奨していると思います。結局のところ、ネイティブはあまり解析を必要とせず、優れています)効率が向上し、新しい構文セットを学習する必要がありません)。
TP のテンプレートはより包括的で成熟しており、独自の構文セットを持っています。基本的に、ネイティブ PHP を混ぜる必要はありません。フロントエンド エンジニアにとっては良いことかもしれません。学習する必要はありません。 PHP では、テンプレートの構文を学習してください。フロントエンドとバックエンドの分業がより明確になりました。
今考えてみると、CI と TP の MVC ディレクトリ構造には大きな違いがあります。
CI のコントローラー、ビュー、モデルにはそれぞれ 1 つのディレクトリ構造があります。この分割は、上記の各ディレクトリの下にモジュール ディレクトリとして新しいサブディレクトリを作成するか、モジュールの概念を使用せずに単にディレクトリ内にコントローラとモデルを直接作成することに基づいています。
TP は基本分離単位としてモジュールを使用しており、デフォルトでは、各テンプレートに対応するディレクトリの下に、controllers、view、model ディレクトリが存在します。
デバッグに関しては、TP は間違いなく CI よりも数歩進んでいます。正式な方法は次のとおりです:
CI は間違った呼び出しを一時的に出力することしかできませんが、これにより問題の 60% 以上を解決できます。
[関連チュートリアルの推奨事項: thinkphp フレームワーク]
以上がci フレームワークと thinkphp の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。