Symfony Flexを使用した将来のSymfony 4.0リリースおよびプロジェクト

2017年11月30日Symfony 4.0がリリースされます



画像

4番目のバージョンにはいくつかのグローバルな変更があり、その主なものはSymfony Flexへの移行です。

symfony flexとは何ですか?


これは、 「レシピ」に基づいてシンフォニーアプリケーションを編成するための新しいアプローチです。
開発者によると、これは依存関係\バンドル\パッケージでの作業を簡素化し、より多くの自動化をもたらすはずです。

レシピを含む2つのリポジトリがあります。


レシピは、一連のコンフィギュレーターとオプションを含むmanifest.jsonを介して構成されます。

オプション


エイリアス
代替レシピ名を示すために使用されます。 たとえば、このオプションを使用しない場合、レシピは次のようにインストールされます。

composer req acme-inc/acme-log-monolog-handler 

manifest.jsonに追加することにより

 { "aliases": ["acme-log", "acmelog"] } 

使用できます

 composer req acme-log 

コンフィギュレーター


レシピのインストール中に実行される一連のタスク。
バンドル

環境を指定する機能を備えた1つ以上のバンドルを接続します。

 { "bundles": { "Symfony\\Bundle\\DebugBundle\\DebugBundle": ["dev", "test"], "Symfony\\Bundle\\MonologBundle\\MonologBundle": ["all"] } } 

コンテナ
services.yamlにコンテナーパラメーター(ロケールなど)を追加します。

 { "container": { "locale": "en" } } 

パッケージからコピー
パッケージからプロジェクトにフォルダーまたはファイルをコピーします。

 { "copy-from-package": { "bin/check.php": "%BIN_DIR%/check.php" } } 

利用可能な定数:
%BIN_DIR%、%CONF_DIR%、%CONFIG_DIR%、%SRC_DIR %% VAR_DIR%、%PUBLIC_DIR%

レシピからコピー
レシピ自体からファイルとディレクトリをコピーする:

 "copy-from-recipe": { "config/": "%CONFIG_DIR%/", "src/": "%SRC_DIR%/" } 

env
.envおよび.env.distへのパラメーターの追加:

 { "env": { "APP_ENV": "dev", "APP_DEBUG": "1" } } 

%generate(secret)%を使用してランダムな16ビット文字列を生成できます

gitignore
パターンを.gitignoreに追加します。

 { "gitignore": [ ".env", "/public/bundles/", "/var/", "/vendor/" ] } 

インストール後の出力
レシピのインストール後に表示されるコンテンツを定義します 。post -install.txtファイルで定義する必要があり、各行はPHP_EOLによって閉じられます。
コンソールの色/スタイルがサポートされています。

symfony / framework-bundleの完全なサンプルmanifest.json:

 { "bundles": { "Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle": ["all"] }, "copy-from-recipe": { "config/": "%CONFIG_DIR%/", "public/": "%PUBLIC_DIR%/", "src/": "%SRC_DIR%/" }, "composer-scripts": { "make cache-warmup": "script", "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd" }, "env": { "APP_ENV": "dev", "APP_DEBUG": "1", "APP_SECRET": "%generate(secret)%" }, "gitignore": [ ".env", "/public/bundles/" "/var/", "/vendor/" ] } 


最初のSymfony Flexプロジェクトを構築する


執筆時点で利用可能な最新バージョン「v4.0.0-RC1」を使用します

最初にcomposerが必要です。

プロジェクトを作成しましょう:

 composer create-project symfony/skeleton flex-test-project "v4.0.0-RC1" 

最初は、公式のレシピのみが利用可能です。 サードパーティ製のレシピを使用するには、以下を完了する必要があります。

 composer config extra.symfony.allow-contrib true 

または自分で追加する

 "extra": { "symfony": { "allow-contrib": "true" } 

composer.jsonで

開始するには、PHPの組み込みWebサーバーを使用するか、web-server-bundleをそのレシピに追加します。

 composer req web-server bin/console server:start 

また、現在はmaker-bundleと呼ばれるプロファイラーとジェネレーターが必要です。
プロファイラーにはTwigが必要です。

 composer req twig composer req web-profiler-bundle 

また、アノテーションジェネレーターの場合、* composer.json *で最小安定性の要件を下げる必要があります。

  "minimum-stability": "dev" 

 composer req maker composer req annotations bin/console make:controller 

できた



https://symfony.sh/を使用して、レシピを検索できます。
次期バージョンでの主要な変更
Githubリポジトリ
3. *から4 *にアップグレードします。

Source: https://habr.com/ru/post/J343030/


All Articles