ホームページ  >  記事  >  バックエンド開発  >  qeephp と CI の長所と短所

qeephp と CI の長所と短所

WBOY
WBOYオリジナル
2016-06-13 13:01:43705ブラウズ

qeephp と CI の長所と短所
qeephp でいくつかのプロジェクトを行ってきましたが、突然新しいフレームワークを学びたいと思ったのですが、CI も悪くないと感じていますが、両者の長所と短所がわかりません。誰もが自由に発言し、良いフレームワークを推奨できることを願っています。
------解決策----------------------
CI は比較的シンプルで、すぐに始めることができます。完全な中国語ドキュメントがあり、CI の主な利点は次のとおりです:

コードイグナイターとは何ですか?
CodeIgniter はアプリケーション フレームワークです
CodeIgniter は、PHP で Web アプリケーションを作成する人のためのツールキットです。その目的は、コードを最初から作成するよりも迅速にプロジェクトを開発できるようにすることです。そのために、CI は、一般的なタスク要件を満たす豊富なクラス ライブラリのセットを提供し、これらのライブラリを呼び出すためのシンプルなインターフェイスと論理構造を提供します。 CodeIgniter を使用すると、完了する必要があるコードの量を最小限に抑えることができるため、プロジェクト開発にさらに集中できるようになります。

CodeIgniter は無料です
CodeIgniter は Apache/BSD スタイルのオープン ソース ライセンスに基づいてライセンス供与されているため、必要に応じて使用できます。詳細については、使用許諾契約をお読みください。

CodeIgniter は PHP 4 で動作します
CodeIgniter は、PHP 4 と完全な互換性を持つように作成されています。 PHP 5 にはオブジェクト指向処理における利点があり、創造的なソリューション (多重継承など) を実装する際の (PHP 4 での) 作業を簡素化するためにそれを活用する必要がありましたが、このフレームワークを確立したとき、PHP 5 はあまり広く利用されませんでした。これは、(PHP 5 で記述されている場合) 潜在的なユーザーのほとんどを放棄することを意味します。 REDHAT などの主要なオペレーティング システム ベンダーは、PHP5 をサポートする動きが非常に遅く、短期的には PHP5 を完全にサポートする可能性は低いです。したがって、PHP 5 で CodeIgniter を記述することは PHP コミュニティにとって最善の利益ではないと私たちは考えています。

注: CodeIgniter は PHP5 環境で実行できます。 PHP5 特有の高度な機能が使用されていないだけです。

CodeIgniter は軽量です
本当に軽いです。より多くのリソースを必要とするフレームワークとは対照的に、私たちのコア システムは少数の非常に小さなライブラリのみを必要とします。追加のライブラリは要求に応じてロードされるため、コア システムは非常に高速で軽量です。

CodeIgniter は高速です
とても速いです。 CodeIgniter よりも優れたパフォーマンスを発揮するフレームワークを見つけるのは難しいでしょう。

CodeIgniter は M-V-C モデルを使用します
CodeIgniter は、モデル-ビュー-コントローラーのアプローチを使用します。これにより、プレゼンテーション層とロジック層をより適切に分離できます。これはプロジェクトのテンプレート設計者にとって非常に便利で、テンプレート内のプログラム コードの量が最小限に抑えられます。これについては、MVC のそれぞれのページで詳しく説明します。

CodeIgniter はクリーンな URL を生成します
CodeIgniter によって生成された URL は非常にクリーンで、検索エンジンに適しています。標準の「文字列クエリ」メソッドとは異なり、CodeIgniter はセグメントベースのメソッドを使用します。

example.com/news/article/345

注: デフォルトでは、index.php ファイルが URL に含まれていますが、これは .htaccess ファイルを変更することで変更できます。

CodeIgniter は強力です
CodeIgniter には、データベースの読み取り、電子メールの送信、データの確認、セッションの保存、イメージの操作、XML-RPC データ送信のサポートなど、最も一般的に必要なネットワーク開発タスクを完了できるクラス ライブラリがすべて揃っています。

CodeIgniter は拡張可能です
このシステムは、プラグインやヘルパー ライブラリを通じて簡単に拡張でき、また拡張クラスやシステム フックを通じて実装することもできます。

CodeIgniter にはテンプレート エンジンは必要ありません
CodeIgniter にはオプションのテンプレート パーサー プログラムが付属していますが、テンプレートを使用する必要はありません。テンプレート エンジンは、ローカライズされた PHP コードのパフォーマンス要件とまったく一致しません。テンプレート エンジンを使用するには、その構文を学ぶ必要があります。これは、少なくとも PHP の基本を学ぶよりは簡単です。次の PHP コードについて考えてみましょう:











テンプレート エンジンで使用される疑似コードを比較してみましょう:



    {foreach from=$addressbook item="name"}

  • {$name}


  • {/foreach}



確かに、この例のテンプレート エンジンのコードは比較的明確ですが、実行する前に疑似コードをまず PHP に変換する必要があるため、パフォーマンスの問題が発生します。私たちの目標はパフォーマンスを最大化することなので、専用のテンプレート エンジンを使用しないことにしました。

CodeIgniter は徹底的に文書化されています
プログラマーはコードを書くのが好きですが、ドキュメントを書くのは嫌いです。もちろん私たちもそうしますが、ドキュメントはコード自体と同じくらい重要なので、それを実行するつもりです。さらに、私たちのコードリソースは非常にクリーンでコメントしやすいです。

CodeIgniter にはフレンドリーなユーザー コミュニティがあります
コミュニティ フォーラム では、成長しつつある活発なユーザー コミュニティをご覧いただけます。


-----解決策---------
QeePHP のデータ モデルは比較的厳格です. oo は oo のためであり、データベース クエリの最適化のためではありません。
たとえば、テーブル構造を毎回クエリします....

そして私が気に入らない点
-----解決策---------
ci は以下と互換性がありますphp4、中国語ドキュメント 比較的完成しています。モデル層での設計は、cakephp よりもほとんど悪いです
-----解決策---------
データベース マッピングがあるため、テーブル構造が必要です。次に、モデル オブジェクトを生成します。

これはcakephpと同じです!


しかし、ci も zendframe も、特に zendframe ではこれを行いません!

データベース モデルは必ずしもテーブル マッピングを行う必要はないと考えられます。

代わりに、データベース モデルはビジネス ロジックに基づく必要があります。 (こちらの方が速いです)

これに関連するのはフォーム検証です。その一部はモデル クラスに配置され、一部はコントローラー メソッドに配置されます。

例: zend はコントローラー メソッド内にあります (これは、一部の検証がデータベースに関連していない可能性がある、または複数のテーブルに関連している可能性があるためでもあります)


-----解決策---------
ci はすべてをすぐに開始できます機能はありますが、大規模な Web サイトには適していません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。