質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

Q&A

解決済

3回答

1827閲覧

Symfony2に関する初歩的な質問

marimo.

総合スコア48

Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

1グッド

0クリップ

投稿2016/03/22 10:12

編集2016/03/23 01:38

Symfony2を学び始めて日が浅い者です.
今まではCakePHPを簡単ではありますが学んだことがあります.だからこそSymfony2の仕組みが分からず立ち止まっております.Symfony2はCakePHPのMVCの上位概念とのことですが,Symfony2においてどこが「M (Model)」で「V (View)」で「C (Controller)」なのか….ここで悩んでる私にとって更にBundleというものが出てきててんやわんやになっております.
クライアントがサーバにアクセスした時,Symfony2のtwigファイルがhtmlファイルとしてクライアントに渡すまでの流れを教えていただければと思います.(とにかく流れがわからない感じです)

CakePHPの場合は
0. app/View/~.ctpが呼びだされて

  1. 紐付いているapp/Controller/Controller.phpがapp/Model/.phpを呼び出す
  2. そのときにモデルがデータベースにクエリを発行してその結果をー

といった感じだと思います.
Symfony2の場合ではどのような感じなのでしょうか?

ucan-lab👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

ここで悩んでる私にとって更にBundleというものが出てきててんやわんやになっております.

Bundleはプラグインに近いイメージです。
Symfony2はコアのフレームワークから自身で書くソースコードまですべてバンドルで構成されています。

詳しくは公式に書いてあります。

The Bundle System
http://symfony.com/doc/current/book/bundles.html

投稿2016/03/22 10:40

ucan-lab

総合スコア888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marimo.

2016/03/23 01:54

追加質問よろしいでしょうか? src/ には複数のBundleが存在する場合があるとは思いますが,1つのアプリケーションを構築するのに使われている複数のBundleらはどのようにつながっているのでしょうか?Bundle ≒ プラグインだとするとそのプラグインはどこで読み込まれる(どのファイルに刺さっている)のでしょうか?
marimo.

2016/03/23 08:03

Bundleの使い方,管理のされ方が理解できました. 戴いたヒントを元にもう少し理解を進めてみます. 壁にあたった時にはまた稚拙な質問をしてしまうとは思いますが,その時はよろしくお願いいたします.
ucan-lab

2016/03/23 12:19

一段落つきましたら、この質問はクローズしてください。 一つの投稿にたくさん質問があると見づらくなってしまいますので。 また見かけたら回答しにきますね〜
guest

0

Symfony2はCakePHPのMVCの上位概念とのことですが,Symfony2においてどこが「M (Model)」で「V (View)」で「C (Controller)」なのか…

M -> Entity/.php
V -> Resources/views/*.html.twig
C -> Controller/
.php

Symfony2の場合はModel(モデル)じゃなくてEntity(エンティティ)という名称になりますね。

投稿2016/03/22 10:36

ucan-lab

総合スコア888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Symfony2の大まかな流れはこんな感じですね。

Browser -> Request -> Bootstrap(app.php) -> Controller -> Template(twig) -> Response

具体的なファイルと見ていくと

  1. app/config/routing.yml ルーティングに従ってコントローラが呼び出される
  2. src/AppBundle/Controller/~Controller.php

2.1. src/AppBundle/Entity/.php エンティティを呼び出してなんかする。
2.2. EntityManagerでクエリを発行してコントローラで結果を受け取る
2.3. クエリ結果を引数としてビューに渡す
3. src/AppBundle/Resources/views/
/index.html.twig ビューの表示

うまく説明できたかわからないですが、こんな回答で大丈夫でしょうか。。

投稿2016/03/22 10:30

編集2016/03/22 11:26
ucan-lab

総合スコア888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問