symfony2の新機能です。私はいくつかのチュートリアルでそれを始めてから、SYMBLOGのビルドを始めました。私はそれを理解しており、私は機能を追加または変更することができます。私はワークフローで少し混乱しています。つまり、ファイルをどのように連携させてページをレンダリングするか、出力を生成することを意味します。誰もが最初からこの流れがsymfony2でどのように進んでいるかを詳しく説明できますか? symfony2が結果を表示するまでユーザーがurlを入力すると、ユーザーの要求から始めます。フローにrouting.ymlを含めてください。 ?Symfony2によるワークフロー?
答えて
あなたはこのリンクをチェックアウトする必要があります。 Symfony - the big picture
ブラウザでURLを入力してからレンダリングされるページまでのすべてのステップが詳しく説明されています。
基本的にすべてのリクエストはフロントコントローラに送られます。その役割は、要求を適切なコントローラコードにルーティングすることです。それはapp/config/routing.yml
ファイルで定義されたルートの助けを借りてこれを行います。 src/<BundleName>/Controller/<name>
で定義されたコントローラは、モデル(リポジトリ)からデータを取得し、その情報をビュー(テンプレート)に送信するなど、いくつかのビジネスロジックを実行します。ビューは単なるHTMLコードです。 Symfonyは、Twigと呼ばれるテンプレートエンジンを使用します。 symfonyは<?php ... ?>
ブロックをHTMLコードに含めるのではなく、コントローラからのデータを渡し、Twig {% %}
または{{ }}
ブロック内のビュー内で簡単に使用できます。
は、簡単に言えば、ここでのワークフローです:
- ブラウザが送信するリクエスト
- リクエストはフロントコントローラ
web/app_dev.php
またはウェブ/ app.php- フロントコントローラで受け取っチェック
app/config/routing.yml
で定義されたルートとsrc/<BundleName>/Controller/<controller_name>
で定義された適切な コントローラに要求を送信します。- コントローラは、HTで必要なコンテンツを準備しますMLは(例 -
src/<BundleName>/Repository
からデータベースを照会)し、ビューに情報を送信 -src/Resources/views/<twig file name>
- ビューは、HTMLを作成し、バックコントローラ
- コントローラにそれを送信するHTTPレスポンスを作成し、ブラウザに送り返し
の間に来るが、私はそれをスキップしているアプリ/ AppKernelのようなものがあります。
ここの上方に設けられたリンクから有用な抜粋は以下のとおりです。
URL:ここに
http://localhost/Symfony/web/app_dev.php/demo/hello/Fabien
が起こっているのですか? URLを解読しましょう: app_dev.php:これはフロントコントローラです。これはアプリケーションの一意のエントリポイントであり、すべてのユーザーの要求に応答します。 /demo/hello/Fabien:これは、ユーザーがアクセスしたいリソースへの仮想パスです。 開発者としての責任は、ユーザーの要求(/ demo/hello/Fabien)を関連付けられたリソース(Hello Fabien!HTMLページ)にマッピングするコードを記述することです。
ルーティング:
Symfony2のルートをいくつか設定されたパターンに対して要求されたURLに一致するように試みることによって、それを処理するコードに要求。デフォルトでは、これらのパターン(ルートと呼ばれます)はapp/config/routing.yml設定ファイルで定義されています。 dev環境(app_ デベロッパー .phpフロントコントローラー)で表示されている場合、app/config/routing_dev.yml構成ファイルもロードされます。 Standard Editionでは、これらの「デモ」ページがそのファイルに配置されているへのルート:
_welcome:
pattern:/
defaults: { _controller: AcmeDemoBundle:Welcome:index }
コントローラー:
Symfony2のルーティングから_controller値に基づいて、コントローラを選択します設定:AcmeDemoBundle:ようこそ:インデックス。この文字列は、コントローラの論理名であり、それはアクメ\ DemoBundle \コントローラ\ WelcomeControllerクラスからindexActionメソッドを参照しています
class WelcomeController extends Controller
{
public function indexAction()
{
return $this->render('AcmeDemoBundle:Welcome:index.html.twig');
}
}
ビュー:
コントローラは/ SRCをレンダリングアクメ/ DemoBundle /リソース/ビュー/デモ/ hello.html.twigテンプレート
{% extends "AcmeDemoBundle::layout.html.twig" %}
{% block title "Hello " ~ name %}
{% block content %}
<h1>Hello {{ name }}!</h1>
{% endblock %}
また、symfony2をチェックアウトすることもできます。architecture
- 1. リブートによるPowershellワークフロー
- 2. トリガーによる子ワークフローの中断
- 3. dynamicUpdateMapによるワークフローの更新
- 4. KafkaによるNiFiワークフローのボトルネック
- 5. SharePoint、ワークフローおよびWebサービス - ワークフローを再開する
- 6. Symfony2:symfony2でphp_intl拡張を利用できるようにするには?
- 7. Windowsワークフロー:ワークフロー内から別のワークフローを開始する
- 8. Windowsワークフロー: "シングルトン"スタイルのワークフロー?
- 9. セマンティックバージョニングがgitワークフローにどのように適合するか
- 10. Symfony2 - ルートディレクトリにリダイレクト/
- 11. Outlook電子メールによるSharepointワークフローの承認
- 12. Jenkinsワークフローによる電子メールのハイパーリンクとしてのカール
- 13. PayPalアダプティブ決済を使用したPayKeyによるワークフロー
- 14. Symfony2。サービスをインスタンス化するように強制する
- 15. Symfony2に含まれているTwig JavaScriptファイルをどのように圧縮しますか? Symfony2ので
- 16. ワークフロー内のワークフローを呼び出す
- 17. NetSuiteワークフロー
- 18. svnmergeワークフロー
- 19. Matplotlibワークフロー
- 20. Drupalワークフロー
- 21. より効率的なR/Sweave/TeXShopワークフロー?
- 22. より簡単なマスタベースのワークフロー
- 23. プラグイン、ワークフロー、およびサポートアセンブリのアセンブリパス
- 24. Dynamics CRMが親ワークフローの値を子ワークフローに渡す
- 25. にsetLocale Symfony2のアプリケーション
- 26. BluemixにSymfony2をデプロイ
- 27. Symfony2テンプレートrenderResponseによりCPU使用率が上昇する
- 28. symfony2トークンを生成しないように要求する
- 29. symfony2:ラジオウィジェットがラベルを表示しないようにする
- 30. Symfony2フォーム:リクエストオブジェクトにデータを追加する方法私はSymfony2ののフォーム処理を以下のよ