qeephp と CI ソリューションの長所と短所

WBOY
リリース: 2016-06-13 13:46:46
オリジナル
843 人が閲覧しました

qeephp と CI の長所と短所
qeephp でいくつかのプロジェクトを行ってきましたが、突然新しいフレームワークを学びたいと思ったのですが、CI も悪くないと感じていますが、両者の長所と短所がわかりません。誰もが自由に発言し、良いフレームワークを推奨できることを願っています。

-----解決策--------------------------------
CI は比較的シンプルですぐに始めることができます。中国語のドキュメントは充実しています。以下に CI の主な利点を示します。

CodeIgniter とは何ですか?
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 コードを考えてみましょう:





  • < ? =$name?>






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



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

  • {$name}
  • 🎜>
    {/foreach}



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

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

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


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

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

    これはcakephpと同じです!


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

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

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

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

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


    ------解決策----------------------
    ci はすべての機能をすぐに使い始めることができますが、大規模なウェブサイトには適していません

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!