主な参照 PHP フレームワークには、CodeIgniter、CakePHP、ZendFramework、Symfony が含まれます。私は多くのフレームワークを真剣に使用したことはありません。私の意見の多くは未熟であったり、間違っていたりする可能性がありますので、一緒に成長していきましょう。
CodeIgniter
利点:
1. シンプルな構成、すべての構成は PHP スクリプトを使用して構成され、基本的なルーティング機能があり、ある程度のルーティングを実行できます。一定レベルのインターフェイスの外観を作成する; データベース層は適切にカプセル化されており、基本的な MVC 機能を備えています
2. 高速かつ簡潔、コード量が少なく、実行パフォーマンスが高く、シンプルな PHP フレームワークで、使いやすく、学習コストが低く、詳細なドキュメントが用意されています。多くのライブラリが付属しています シンプルで使いやすいフレームワークは小規模なアプリケーションに適しています
欠点:
1. モデル層をデータベース操作として理解するだけです
2. PHP フレームワークはやや単純で、満足できるものだけです。小規模なアプリケーションには適していませんが、中規模のアプリケーションには少し適していません。
評価が必要です:
一般に、CodeIgniter を使用して、シンプルで高速なアプリケーションを完成させると同時に、ある程度のレイアウトを構築することができます。データ操作層は適切にカプセル化されており、複雑すぎる設計パターンは優れた実行パフォーマンスとコードの可読性を備えています。追加のライブラリに関しては、シンプルで効率的で悪くありません。
CakePHP
利点:
1. CakePHP は、データベース操作の設計方法とアクティブ レコード方法を含め、非常にエレガントで、追加のライブラリが付属していない PHP フレームワークです。機能が利用可能である 実行効率の良い純粋なフレームワークである; データベース層の hasOne および hasMany 機能は非常に強力で、複雑なビジネス処理に適している; 自動スキャフォールディング (scaffold) は非常に優れている。強力; 中規模のアプリケーションに適している; 基本的な実装は MVC のすべての層に渡されており、コマンド ライン スクリプトを自動的に実行する機能がある。 CakePHP、学習コストは中程度です
欠点:
1. CakePHP は非常に深刻です 問題は、モデルがデータベース層の操作として理解されていることです。これは、CakePHP の他の操作能力に重大な影響を与えます。キャッシュ機能が少し弱く、設定機能も少し弱い; CakePHPは大規模なアプリケーションには適していないが、小規模なアプリケーションには学習コストが若干高い
評価:
一般的に、CakePHPは、フレームワークは非常に重要な時代を代表し、PHP フレームワークを代表するものであり、現在では多くの自作フレームワークが重要な役割を果たしています。CakePHP は、RoR のアジャイル開発手法と設計思想を明らかにしています。データベース操作を唯一のモデルとして考慮すると、これは迅速なアプリケーションとプロトタイプを開発するための優れたツールです。同様に、Web2 .0 Web サイト開発フレームワークにも使用する価値があります。
Zend Framework利点: 1. 正式に作成されており、多くのライブラリが付属しています。アーキテクチャは非常にエレガントで、MVC 設計では実行効率が高くなります。比較的シンプルで、ルーティング機能があり、比較的強力な設定ファイル (XML と php INI を処理できる) があり、さまざまなライブラリが非常に強力で、単なる PHP フレームワークではないことも含めて、すべての PHP フレームワークの中で最も包括的です。 、大規模なクラス ライブラリ (PEAR の置き換え) ですが、これが主な機能です。データベース操作に加えてモデル層を直感的にサポートでき (CodeIgniter や CakePHP よりも強力です)、ローダー関数を使用して他の新しく追加されたライブラリを簡単にロードできます。クラス; キャッシュ機能は非常に強力で、フロントエンド キャッシュからバックエンド キャッシュまですべてをサポートします。バックエンド キャッシュは、Memcache、APC、SQLite、ファイルなどをサポートし、さまざまなデータベース操作機能をサポートします。ドライバー (アダプター)
2. ドキュメントは非常に充実しており、中国で最高です。コミュニティは非常に成熟しており、現在多くの Web 2.0 Web サイトで使用されています。学習コストは中程度です。
欠点:
1。は比較的弱く、ビュー層は単純に実装されており (実装されていないのと同じ)、フロントエンド ページを強力に制御することはできません
2. 自動スクリプトを使用しない場合、エントリ ファイルを含むアプリケーションの作成は手動で構築する必要があります。エントリーコストが高い
3. Zend Frameworkは中規模アプリケーションフレームワークとしては大きな問題はなく、大規模アプリケーション向けのPHPフレームワークとしてはほとんど使用できませんが、非常に成熟した大規模PHPとしてはフレームワークにはまだ努力が必要です
評価:
公式フレームワークとして、Zend Framework は他のフレームワークを排除し、同時に多くの強力なクラス ライブラリをカプセル化し、ワンストップ フレームワーク サービスを提供したいと考えています。であり、その開発チームは非常に強力で、非常に強力な製品を開発する能力を十分に備えているため、フレームワークの改善にさらに多くの時間を費やすことができれば、Zend Framework に明るい未来があることは基本的に確実です。同様に、Zend Framework アーキテクチャ自体は比較的洗練されており、これは Zend が公式に多くの専門家を擁し、設計コンセプトが比較的進んでいることを示しています。ただし、ビュー レイヤー、自動化スクリプトなどの一部の機能は完全には実装されていませんが、これらはすべて依存しています。今後のアップグレードについて。一般的に、Zend Framework は最も期待されている PHP フレームワークです。もちろん、今すぐプロジェクトで使用することに問題はありません。
Symfony利点 1. Symfony は私が知っている中で最も強力な PHP フレームワークであり、私は長い間使用してきましたが、多くの機能はまだ発見されていません。MVC の 3 つの層を完全に実装し、$_POST、$ を含むすべてをカプセル化します。 _GET データ、例外処理、デバッグ機能、データ検出。強力なキャッシュ機能、クラスの自動ロード (この機能は非常に優れています)、強力な i18n 国別化サポートがあり、単一および複数のフラグメント ファイルを含めることができます。 ; 非常に強力な設定機能。yml 設定を使用すると、すべてのフレームワークとプログラムの実行動作を制御できます。これは非常に強力なので、独自のさまざまなクラスを自由に定義でき、symfony はこれらのクラスを自動的にロードできます。プログラム内で自由に呼び出すことができます。これには、1 つのプロジェクトで複数のアプリケーションのニーズを満たすことができる、強力なマルチレベルのプロジェクトとアプリケーションの管理が含まれます。各レイヤーは、プロジェクトの作成、アプリケーションの構築、モジュールの構築、キャッシュの更新などを含む非常に強力なコマンドライン操作機能を定義できます 2。 Symfony を使用するため、複雑なプロジェクトでも開発コストが大幅に節約され、プロジェクト レベルで基本クラスを定義した後は、任意のモジュールを再利用でき、コードを大幅に再利用できます 欠点: 1. データベース操作モデルにはヘビーウェイトの prop と creole が追加されていますが、私がテストしたバージョンでは、それらは使用できるかどうかを制御できません。開発中やデバッグ中に毎回キャッシュされるため、キャッシュをクリアして再構築するために symfony cc や symfony rc を実行する必要があります。特にテンプレートの解析と設定ファイルの読み込みには時間がかかります。時間がかかる; 4. 学習コストが高く、中国には成熟したコミュニティやドキュメントがないため、すべての機能を習得するには時間がかかります。 Symfony は間違いなくエンタープライズレベルの PHP フレームワークであり、Java 分野でいくつかの強力なフレームワークと競合できる唯一のものです。当然、学習は複雑ですが、当然のことながら、プロジェクト開発にも役立ちます。複雑なプロジェクトを処理するには、Symfony を使用する価値があると思います。その後のメンテナンスコストが比較的低く、再利用性が非常に高いです。同様に、より複雑なインターネット プロジェクトに Symfony を使用する場合は、データベースの分散の問題を考慮する必要があります。その後、Symfony に付属するデータベース操作レイヤーを放棄し、それを自分で定義する必要があります。もちろん、Symfony は任意のモデル レイヤーの構築をサポートします。 上記のPHPフレームワークはそれぞれに特徴があり、いずれもオープンソースプロジェクトですが、一般的にはCodeIngiterの方が小規模プロジェクトに適しています。フレームワークは中規模のプロジェクトに適しており、Symfony は大規模で重量のあるプロジェクトに適しています。プロジェクトを選択するときは、フレームワークのカスタマイズ性と拡張性を十分に考慮する必要があります。これは、各プロジェクトが変更を加えるかどうかを決定できないためです。ニーズは変化します。 比較的、Zend FrameworkとSymfonyは変更への対応力が高く、特にモデル層のクラスを自由にカスタマイズできるので、独自のビジネスクラスやデータ処理クラスを追加するのに非常に便利です。中規模および大規模なプロジェクトでの使用向け。 CodeIngiter と CakePHP は、中小規模のプロジェクト、迅速な開発、プロトタイプの構築でも重要な役割を果たし、目標が明確でないプロトタイプ プロジェクトの開発に非常に適しています。
http://www.bkjia.com/PHPjc/446202.html
www.bkjia.com
true