Symfony Flex、Symfony 4でのアプリケーションの外観

Symfony 4.0は2017年11月下旬にリリースされます。 今後数週間にわたって、Symfony 4の新しいアイデアと主要な変更に関する記事が公開されます。



Symfony 3.0は退屈で、Symfony 2.8のより簡潔なバージョンです。

Symfony 3.0 = Symfony 2.8-非推奨の機能。



しかし、Symfony 4.0は以前のバージョンとは対照的にどのようになりますか:

Symfony 4.0 = Symfony 3.4-非推奨の機能+新しいアプリケーション開発コンセプト。



または、ここに別のシナリオがあります。

Symfony 4.0 = Symfony 3.0 + 3.xで追加されたすべての機能-非推奨機能+新しいアプリケーション開発コンセプト。



しかし最も重要なことは、Symfony 4.0にはPHP 7が必要になるということです。新しい開発コンセプトのために。



symfonyには外部バンドルをインストールするかなり面倒なプロセスがあります:



現時点では、1人の作曲家に新しいバンドルをインストールするだけでは不十分なことがよくあります。



通常の方法:





最初のステップを自動化することはできませんが、プロセス自体は最終開発者にとってより便利にできると思われます。



次に、ステージ3と4を見てみましょう。 新しいバンドルの設定を登録するプロセスは自動化することは非常に可能ですが、ほとんどの場合、いくつかのプレインストールパッケージのSymfony Standart Editionで行われているように、バンドルの標準設定セットの通常の挿入のように見えます。



実際、人気のあるバンドルのREADMEを見ると、それらはすべて、タンバリンを使用した同じダンスから始まります-インストールしたものを構成する方法。



Symfonyでバンドルを削除するとさらに苦痛になります



最近インストールしたサードパーティのsymphonyバンドルを削除する必要がある場合、composer remove symfony / bundleでは十分ではありません。 新しいバンドルをインストールするときに行う必要があることを覚えていますか? さて、今、私たちが書いたものをすべて手動で削除する必要があります。



Symfony Standart Editionもあまり良くありません



Symfonyチームは、特定の種類のWebアプリケーションの開発を開始するための具体的な出発点を開発者に提供する試みを既に行っています。



最も一般的なタイプのWebアプリケーションは、私たちが見慣れている通常の従来のアプリケーションです。 彼らはデータベース、テンプレートのシステムを使用し、多分彼らはユーザーに手紙を送りさえします。



しかし、APIまたはWebサービスを作成する場合はどうでしょうか? それとも、独自のマイクロフレームワークスタイルが必要ですか?



もちろん、Symfony Standart Editionは開発者にいくつかの選択肢を提供しますが、クイックスタートと完全な自由のために、何かを見逃すか、その逆もあります。 Symfonyのディストリビューションはスケーリングしません:以前にインストールされていないプロジェクトに必要な依存関係を柔軟に追加する方法はありませんが、不要なものをすぐに取り除く方法がないため、完全に機能するために必要です。



ディストリビューションに関するもう1つの質問は、ライセンスやREADMEなどのファイルをプロジェクトに保存したくないということです。 多くのプロジェクトにはMITライセンスがまったくありません。多くの場合、READMEは必要ないためです。



数年前、Symfony Standart Editionはクイックスタート用の小さなデモを提供しましたが、プロジェクト内の不要なものを削除するのが困難になったため削除しました。 それは良い決断でも悪い決断でもありました。



まだ納得していませんか? README RESTディストリビューションをご覧ください。

画像

ディストリビューションのコンセプトはSymfonyにはあまり適合しません



そして、それがおそらくSymfonyディストリビューションが離陸しなかった理由です。 Standart Editionに加えて、それらはどれも人気がないので、そのうち3つだけを公開しました。

Hello World Edition、Symfony CMF Standard Edition、Symfony REST Edition。



ディストリビューション自体は十分な柔軟性がないため、開発できません。 分布は誤った抽象化です。 完全にロードされたプロジェクトは必要ありません。時間をかけてアプリケーションを開発および補完する能力が必要です。



完璧なオプション



開発者として、多くの依存関係のない小さなものから始めたいと思っています。それまでの間、自分のアプリケーションを適切に改善できるようにしたいと思っています。 マイクロフレームワークスタイルから巨大なモノリスまで、フレームワークはここでは干渉しません。



Symfonyで新しいプロジェクトを開始したり、既存のプロジェクトを変更したりするのは、初心者には難しすぎ、上級開発者には扱いにくいです。 もっとうまくやれる



構成の継承



ほとんどのディストリビューションは、追加のバンドルを含むSymfony Standart Editionのフォークです。 作曲はどうですか? AdminでAPIディストリビューションを使用する場合はどうなりますか? ここで新しいディストリビューションが必要ですか? たぶん違います。



Symfony Flexは、アプリケーションを簡単に作成および保守できる新しい方法です。 これは、Micro-Framework Styleの最も単純なプロジェクトから、膨大な数の依存関係を持つプロジェクトまで、あらゆるタイプのアプリケーションの作成を簡素化するものです。 パッケージの追加と削除を自動化し、参加せずに新しいパッケージの適切な構成を設定します。



Symfony FlexはデフォルトでSymfony 4のアプリケーションを管理するために使用されますが、Symfony 3.3および3.4​​のアプリケーションを管理するためのオプションコンポーネントとして利用できます。 Symfony Flexのアルファ版は、Symfony 4より前にリリースされます。



次の投稿では、Symfony Flexについて詳しく説明します。 それまでの間、 Symfony Flexを使用して新しいアプリケーションスケルトンを評価しましょう。 期待していた通りではありませんか?



All Articles