この記事は、「APP Entrepreneurship Project - バックエンド言語の選択」に続き、PHP 言語の選択に基づいた開発フレームワークについて説明します。 PHP が誕生して以来、大小さまざまなフレームワークが何百も存在しました。PHP はフレームワークフリーの言語として誕生したと言う人もいます。フレームワークを使用すると、実際には PHP のパフォーマンスが低下します。確かに複雑なアーキテクチャの導入はパフォーマンスの低下をもたらしますが、チームワークの観点からは、統一したフレームワークに基づいて開発することが連携や将来の拡張に役立つと考えています。フレームワークの長所と短所は、プログラムのパフォーマンスと開発の効率に関係します。C と JAVA のように、パフォーマンスと開発効率はしばしば矛盾します。もう 1 つは開発効率の点で人気があります。矛盾のバランスを見つけることには、決して正しいとか間違っているというものはありません。
PHP の多くのフレームワークの中でも、パフォーマンスと効率のバランスが依然として問題です。有名な Laravel は最もエレガントなフレームワークとして知られており、Yaf と Phalcon は最も高速なフレームワークとして知られており、他にも次のようなよく知られたフレームワークがあります。 Yii、Codeigniter、Zend Framework フレームとして。エレガントだから速くないとか、速いからエレガントじゃないというわけではなく、これは単なる相対的な評価です。では、フレームワークはどのように選択すればよいのでしょうか?
Laravel の公式 Web サイトのトップページに「美しいコードが好きですか? 私たちもそうします。」という大きな文言がそのエレガントな特徴を示していますが、これは Phalcon、Yii、および Zend Framework のエレガントさに影響を与えるものではなく、明らかな改善はありません。開発効率は向上しますが、異なるフレームワーク間のパフォーマンスの差は明らかです。 「パフォーマンスの比較」を参照してください。この Web ページでは、PHP ネイティブに加えて、JSON、単一クエリ、および複数クエリの観点からフレームワークのパフォーマンスを比較しています。Phalcon-micro、Yaf、および Phalcon はすべて、Laravel の数倍のパフォーマンスを示しています。
包括的な乳母型フレームワークは、あなたが乳母のように思慮深く思いやりを持って支援し、基本的に自立して生活できなくなるまであなたの世話をします。このタイプのフレームワークでは、開発モデルに多くの制限があり、開発が進むにつれて、その制限に従うのが最善です。徐々に制限が厳しくなり、突破口と窮地の間のジレンマ。
ミニマリストのお父さんの形をしたフレームは、お父さんのように一般的な方向性を導き、細かい部分では完全な自由を与えます。このタイプのフレームワークは、フレームワークの Route、MVC、Request、Response、AutoLoader のみを実装しており、ORM、Cache、ACL などの重要な機能は開発者によって自由に実装されます。
Phalcon と Laravel は、アーキテクチャの観点から非常によく分離されており、乳母としても父親としても使用できます。 Phalcon は、パフォーマンスをさらに向上させるために、Phalcon-micro の簡素化されたフレームワークも提供します。
以下は、Phalcon、Yaf、Laravel の簡単な分析です。
Zephir 言語に基づいて開発され、PHP 用の C 言語拡張機能としてコンパイルされ、高パフォーマンスを実現するように設計されています。
Phalcon チームは、PHP に非常に似ており、PHP 拡張機能の作成に特化した言語である Zephir 言語を提供しており、開発者は、PHP プロジェクトがデータベースに接続する場合など、Zephir に基づいてプロジェクト関連の PHP 拡張機能を開発できます。設定ファイルを取得したら、データベース接続部分を C 拡張子にコンパイルすると、ユーザー名とパスワードのセキュリティを確保できます。ある程度は保証されます。チームの共通のステレオタイプのコア コンポーネントを C 拡張機能にコンパイルでき、開発者はこれに基づいて開発できるため、パフォーマンスが向上するだけでなく、コア コードも保護できます。商用ソフトウェアの場合、すべてを C 拡張機能にコンパイルすることは悪い考えではありません。
Phalcon のコアは依存性注入の考え方に基づいており、プラグインとミドルウェアのメカニズムはイベント駆動型モデルに基づいています。依存関係の注入はランタイム リソース管理を実装し、イベント駆動型プログラミングは開発者にフレームワーク拡張の可能性を提供します。
Phalcon-micro は、超軽量アプリケーション開発を容易にします。
Phalcon のコード構成は Zend Framework に非常に似ているため、簡単に始めることができます。
フレームワーク内でブレークポイントのデバッグを行うことはできません。初心者が開発する際、コードを作成するときに未知の問題が発生した場合、フレームワーク内でデバッグする方法は 2 つしかありません。ただし、この方法はイベントがスローされる場所によって制限され、観測可能なデータが制限されます。 2 つ目は、Zephir 言語を使用してフレームワークのソース コードを変更し、再コンパイルする方法ですが、これは時間のかかる作業です。
中国で開発され、Baidu のプロジェクトのほとんどはこれに基づいて開発されています。 Phalcon と同様に C で書かれ、PHP 拡張機能としてコンパイルされており、パフォーマンスは Phalcon-micro と同等です。これは、コアの MVC を除いて開発者に実装が委ねられる超軽量のフレームワークであり、経験豊富な開発者が大規模なプロジェクト開発で使用するのに適しており、開発者コミュニティはほとんどありません。 Phalcon と同様に、フレーム内デバッグは許可されていません。
GitHub で最も人気のある PHP フレームワーク。開発者の活動は Phalcon の数倍あり、美しいコードで有名です。プロジェクトコードは芸術性を追求しており、コマンドラインにもartisanと名付けられています。このフレームワークは完全に分離されており、豊富なコンポーネントを提供します。開発スタイルは Python の Django フレームワークに非常に似ています。ただし、コアのコードレベルが Illuminate として登録され、ORM を表すために Eloquent が使用されるなど、コーディング スタイルが型破りすぎるため、他の PHP フレームワークを使用した経験がある人には馴染みがありません。
この記事では、フレームワークを選択する基準を分析し、Phalcon、Yaf、Laravel の 3 つのフレームワークの長所と短所を比較します。チームがパフォーマンスを向上させるための C 拡張機能にあまり興味がなく、開発経験が不十分な場合、チームがデザイン パターンを深く理解し、PHP フレームワークのソース コードについてある程度の調査を行って、フレームワークのソース コードを拡張するには、Phalcon を選択することをお勧めします。Zend Framework フレームワークの使用経験がある場合は、独自のフレームワークを最初から作成することを検討してください。ヤフさんと。 Yii、Codeigniter、ThinkPHP などのフレームワークは 1 つずつ解析されていませんが、優れたフレームワークであることに影響はありません。
——————————————–
【FW】と付いている記事や情報記事を除き、当サイトの記事は全てオリジナル記事です ご注意ください:
転載元: Coming X
原文リンク: APP Entrepreneurship Project-PHP Framework Selection
——————————————–