Silexを試してみたいのですが、いくつか質問があります。
私はSymfony2を使用することを知っていますが、SilexがSymfonyと非常に異なるのか、それとも同じものであるのか(同じ操作、同じコード...)を知りたいですか?
さらに、Silexは小規模なPHPプロジェクトに、Symfonyは中規模または大規模プロジェクトに推奨されています。本当ですか?
Silexを試してみたいのですが、いくつか質問があります。
私はSymfony2を使用することを知っていますが、SilexがSymfonyと非常に異なるのか、それとも同じものであるのか(同じ操作、同じコード...)を知りたいですか?
さらに、Silexは小規模なPHPプロジェクトに、Symfonyは中規模または大規模プロジェクトに推奨されています。本当ですか?
注目に値するいくつかのこと:
そうは言っても、SilexはSymfony2が持っているバンドルを提供しません。
Silexをいつ使用するかについてのいくつかの興味深い考えがあります(特にコメントで): https ://web.archive.org/web/20160131151109/http://www.testically.org/2011/10/11/is-there -a-specific-situation-when-to-use-a-php-micro-framework-like-silex /
Silex自体はかなり裸です。つまり、ルーティングとテストだけでなく、特定の機能(DB、Twig ...)をサービスの形式で追加する必要があるということです。これを提供するいくつかの既製のプレートを確認することをお勧めします: https ://github.com/lyrixx/Silex-Kitchen-Edition または https://github.com/ivoba/superleansilexplate(それは私のものです:))
もう1つのポイントは、SilexのフットプリントはSymfony2よりもおそらく軽いため、より小さく高速なサイトが必要な場合は、Silexを検討する価値があります。
(更新)Symfony2.8以降symfony2をマイクロカーネルコントローラーでマイクロフレームワークとして使用できます。ここで簡単な説明を参照してください:symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework。これで、Symfonyは構造とアーキテクチャをより細かく制御できるようになりました。Symfony 2スタイルを好む場合は、Silexの代わりになります。
2.8リリース前のSilexとSymfonyの比較
SilexマイクロフレームワークはSymfonyに基づいていますが、まったく同じではありません。小さなプロジェクトにSymfonyなどのフルスタックフレームワークを使用することは、単にプロジェクトをやり過ぎです。
マイクロフレームワークでは、使用するツールをより柔軟に選択できます。アプリケーションのアーキテクチャとロジックについて、より多くの決定を下すことができます。ある程度拡張されたフルスタックフレームワークでは、アーキテクチャとロジックがすでに事前定義されており、その構成に制限があります。
Silexは、不要なセットツールを入手するのではなく、ツールを構築するように設計されています。Symfonyの小さなプロジェクトでは、機能を削除する必要があります。Silexの場合は、機能を追加する必要があります。
Silexが大規模なプロジェクトに適していないことも事実ではありません。Silexは大規模なプロジェクトで成功裏に使用できますが、要件に合わせてツールを構築する必要があることを忘れないでください(アーキテクチャとロジックをカスタマイズする必要がある場合は、おそらくこれが正しい方法です)。それ以外は、代わりにSymfonyを使用することを検討します。Symfonyには、箱から出してすぐに利用できるツールがすでにたくさんあるからです。
結論として、Silexは小規模なアプリケーションに適しています。SilexはSymfonyに取って代わることができます。Silexは大規模なプロジェクトにも使用できます(ただし、大規模なアプリケーションでは、代わりにSymfonyのようなフルスタックフレームワークを使用することをお勧めします)。
スライドのリファレンス:http://www.slideshare.net/dustin.whittle/silex-from-micro-to-full-stack。気になる場合は、先に進んでSilexフレームワークについてもう少し読んでください。
また、SilexとSymfonyを比較するこのイントロを視聴することをお勧めします:https ://www.youtube.com/watch?v=RDVtnsoOysE 。
繰り返しになりますが、Silexを実際に使用している人からのSilexを使用するためのいくつかのプロ:https ://www.youtube.com/watch?v = OJcdHGJFfLU
Silexは小さなプロジェクトに適していますが、大きなプロジェクトにも使用できます。私がSilexで最も気に入っているのは、プロジェクト構造を完全に制御できることですが、プロジェクトが適切に編成されているかどうかは私の責任です。
また、私のように、JSフレームワークを使用してアプリケーションロジックをクライアント側に移動した場合は、symfonyよりもお勧めします。私にとって、symfonyをいくつかのjsonリクエストを処理するためだけに使用するのはやり過ぎだと感じています。
Silexは独立したSymfony2コンポーネントに基づいており、SymfonyのようにフルスタックのWebアプリケーションフレームワークとは真に見なされていません。数個のファイルしか必要としない非常に小さなプロジェクトにのみ使用する必要があります。そうしないと、すぐに大きくなります。
Silexは、小規模および大規模なアプリケーションに最適なフレームワークです。プロジェクトに構造を与えることは、Silexでのあなたの責任です。プロジェクトが大きくなるにつれて、symfonyコンポーネントをプロジェクトにうまく統合できますが、symfonyプロバイダーのドキュメントは、特にsymfonyセキュリティコンポーネントにはあまり適していません。
Silexはプロトタイピングプロジェクトに最適です。ほとんどのsymfonyコンポーネントを使用することがわかっている場合は、ほとんどすべてのsymfonyコンポーネントをsilexに統合することになるため、symfonyを選択してください。
私の場合、箱から出してすぐにスピードが必要で、silexがスピードを提供してくれました。ほとんどのsymfonyコンポーネントを使用していますが、箱から出してすぐにsymfonyよりもはるかに高速です。
私がこれを書いている時点で、Silexはメンテナンスモードにあり、2018年6月にサポートが終了しました。
つまり、新しいプロジェクトにはもう使用しないでください。
代わりにSymfony4を使用することをお勧めします。
Silexは本当に優れていて高速でした(単純なリクエスト/要件の場合はsymfony 4よりも高速かもしれません)が、SF4はアプリケーションにいくつかの新しいスタックと利点をもたらす可能性があります。
更新:しかし、SilexからSymfony 4に移行しようとしたすべての試みで、単純なサービスは、私が何をしても応答するのに4倍以上かかりました。Silexは、単純なマイクロサービスに対してはるかに優れた仕事をしているようです。
SilexはPHPのマイクロフレームワークです。小規模なプロジェクトで使用されます。symfonyとsilexのコーディングスタイルはsymfonyとほぼ同じですが、symfonyは大規模なプロジェクトで使用されます。