36

Silexを試してみたいのですが、いくつか質問があります。

私はSymfony2を使用することを知っていますが、SilexがSymfonyと非常に異なるのか、それとも同じものであるのか(同じ操作、同じコード...)を知りたいですか?

さらに、Silexは小規模なPHPプロジェクトに、Symfonyは中規模または大規模プロジェクトに推奨されています。本当ですか?

4

8 に答える 8

46

注目に値するいくつかのこと:

  • Silexは、Symfony2フレームワークと同じように、Symfony2コンポーネントに基づいています。そのため、コンポーネントの代替ユーザーインターフェイスと見なすことができます(ユーザーはWeb開発者です)。
  • それらは同じ基準を使用するため、それらの間の移行は比較的簡単です。
  • Symfony2と同様に、Silexは主にコントローラーフレームワークです。いくつかの構造を提供しますが、モデルとビューのパーツはサードパーティのライブラリ(TwigやDoctrineなど)によって処理されます。
  • とにかくビジネスロジックをコントローラーに含めるべきではないため、そのコードを分離してコントローラーを軽量に保つと、プロジェクトサイズの制限要因は、ルートの数だけになります。

そうは言っても、SilexはSymfony2が持っているバンドルを提供しません。

于 2012-06-30T12:58:14.090 に答える
15

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を検討する価値があります。

于 2012-06-30T13:17:28.247 に答える
8

(更新)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の制限

結論として、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

于 2015-11-03T01:03:51.177 に答える
7

Silexは小さなプロジェクトに適していますが、大きなプロジェクトにも使用できます。私がSilexで最も気に入っているのは、プロジェクト構造を完全に制御できることですが、プロジェクトが適切に編成されているかどうかは私の責任です。
また、私のように、JSフレームワークを使用してアプリケーションロジックをクライアント側に移動した場合は、symfonyよりもお勧めします。私にとって、symfonyをいくつかのjsonリクエストを処理するためだけに使用するのはやり過ぎだと感じています。

于 2013-08-12T21:51:12.553 に答える
5

Silexは独立したSymfony2コンポーネントに基づいており、SymfonyのようにフルスタックのWebアプリケーションフレームワークとは真に見なされていません。数個のファイルしか必要としない非常に小さなプロジェクトにのみ使用する必要があります。そうしないと、すぐに大きくなります。

于 2012-06-29T23:08:13.430 に答える
1

Silexは、小規模および大規模なアプリケーションに最適なフレームワークです。プロジェクトに構造を与えることは、Silexでのあなたの責任です。プロジェクトが大きくなるにつれて、symfonyコンポーネントをプロジェクトにうまく統合できますが、symfonyプロバイダーのドキュメントは、特にsymfonyセキュリティコンポーネントにはあまり適していません。

Silexはプロトタイピングプロジェクトに最適です。ほとんどのsymfonyコンポーネントを使用することがわかっている場合は、ほとんどすべてのsymfonyコンポーネントをsilexに統合することになるため、symfonyを選択してください。

私の場合、箱から出してすぐにスピードが必要で、silexがスピードを提供してくれました。ほとんどのsymfonyコンポーネントを使用していますが、箱から出してすぐにsymfonyよりもはるかに高速です。

于 2015-12-24T04:22:30.610 に答える
1

私がこれを書いている時点で、Silexはメンテナンスモードにあり、2018年6月にサポートが終了しました。

つまり、新しいプロジェクトにはもう使用しないでください。

代わりにSymfony4を使用することをお勧めします。

Silexは本当に優れていて高速でした(単純なリクエスト/要件の場合はsymfony 4よりも高速かもしれません)が、SF4はアプリケーションにいくつかの新しいスタックと利点をもたらす可能性があります。

更新:しかし、SilexからSymfony 4に移行しようとしたすべての試みで、単純なサービスは、私が何をしても応答するのに4倍以上かかりました。Silexは、単純なマイクロサービスに対してはるかに優れた仕事をしているようです。

于 2019-08-26T05:58:45.353 に答える
-2

SilexはPHPのマイクロフレームワークです。小規模なプロジェクトで使用されます。symfonyとsilexのコーディングスタイルはsymfonyとほぼ同じですが、symfonyは大規模なプロジェクトで使用されます。

于 2014-02-05T02:20:30.733 に答える