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

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

ただいまの
回答率

90.76%

  • PHP

    19196questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Framework

    118questions

    Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

  • Symfony2

    114questions

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

Symfony2 Bundleの考え方

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 172

takeHo

score 85

Symfony1を今まで使用していました。
現在Symfony2の学習をしており、Bundleについて質問します。

php app/console generate:bundle --namespace=Ibw/JobeetBundle

上記コマンドにてバンドルを作成しますが、このバンドルの考え方が理解できません。

例えば、簡単ばブログサイトを作成したい場合は

php app/console generate:bundle --namespace=BlogBundle


とBlogBundleを作成し、この中に、記事一覧、詳細、管理画面等と作成するものなのでしょうか?

又は、

php app/console generate:bundle --namespace=BlogBundle
php app/console generate:bundle --namespace=ManageBundle


と複数、Bundleを作成してフロント側アプリケーション、管理画面側アプリケーションと
分けて開発するものなのでしょうか?

前者の場合は単一になる為、Bundleの必要性に疑問を感じます。

尚、Symfony2のドキュメントでは

bundleとは正確には何か

他のソフトウェアのプラグインと似ていますが、それよりも良いです。
主な違いは、すべてが Symfony 2.3.2 のバンドルということです。コアフレームワークの機能とアプリケーションのために書かれたコードの両方を含みます。
バンドルは、単一の機能を実装した構造化されたディレクトリ内のファイルのセットです。
参考URL:http://jobeet.symfony.gr.jp/day-1-starting-up-the-project.html

という説明のみで実際の開発ではどうすれば良いのか分かりません。

ウェブアプリケーションの開発姿勢としては、フレームワークにある機能は積極的に使用し、運用後の仕様変更にも柔軟に対応できるように開発する事を念頭に置いています。

情報がありましたらご教授の程、お願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

 前置き

現在Symfony2の学習をしており

とのことなので、Symfony2を前提に回答しますが、今から学習するのであれば、最新バージョンのSymfony4をオススメ致します。
Bundleによるアプリケーション開発はSymfony4から非推奨となっています。

 本題

BlogBundleを作成し、この中に、記事一覧、詳細、管理画面等と作成するものなのでしょうか?

複数、Bundleを作成してフロント側アプリケーション、管理画面側アプリケーションと分けて開発するものなのでしょうか?

さて、Symfony2系において、フロント側と管理画面側でバンドルを1つにするか2つに分けるかというご質問ですが、
結論から言うと、基本的には前者のバンドルは1つだけ作成するというのが推奨されている方法です。
もう少し詳しく言うと、プロジェクト作成のBest Practicesにも記載されていますが、AppBundle というバンドルだけを作ることが推奨されています。
このAppBundleという1つのバンドルに、必要に応じてオープンソースのバンドル(一部抜粋)を追加していくという感じになります。

もちろん、オープンソースのバンドルに要求を満たすものがなければ、AppBundleとは別のバンドルを自作した方がいい場合もあります。ここはケースバイケースで答えはありません。

公式のSymfony Demoの構成も参考にしてみてくだいさい。

ウェブアプリケーションの開発姿勢としては、フレームワークにある機能は積極的に使用し、運用後の仕様変更にも柔軟に対応できるように開発する事を念頭に置いています。

正しい姿勢だと思います。
SymfonyではBest Practicesが明示されていますので、可能な限りそれに従うことをオススメ致します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/24 06:17

    なにがなんでも Bundle でつくれってのが非推奨になっただけで
    共有するときは Bundle でつくれは今まで通りだったと思ったが

    キャンセル

  • 2018/04/24 11:07

    Symfony4については本題からそれるので詳細は書かなかったのですが、、、

    おっしゃっている「Bundle」は
    アプリケーション固有のバンドルについてでしょうか?
    再利用可能なバンドルについてでしょうか?

    また「共有」とは
    アプリケーション内での共有でしょうか?
    オープンソースとしての共有でしょうか?

    対象によって回答が変わってきますので、もしお時間あれば!

    キャンセル

0

bundleはプラグインとニアリーイコールです。
bundle化することで複数のアプリで利用かのうになります

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    19196questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Framework

    118questions

    Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

  • Symfony2

    114questions

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