Home | Symfony2Doc

コンテンツ上部に更新日の記載のないページは、翻訳の内容が2.0相当のものになっております。最新の内容は原文のページをご確認ください。

Note

  • 対象バージョン:2.3以降
  • 翻訳更新日:2015/07/04

Symfony ベストプラクティス集

Symfony は とても 柔軟なフレームワークとして知られており、小規模サイトから何十億ものコネクションを処理するエンタープライズアプリケーションの開発で利用されています。また 他の フレームワークの基盤にもなっています。2011年7月にリリースされて以来、コミュニティは Symfony で何ができて、何が 一番良い方法 かについて多くのことを学びました。

しかしこれらのコミュニティのリソース、たとえばブログの記事やプレゼンテーションなどが、Symfony アプリケーションを開発する際の非公式な推奨案を生み出してきました。 残念ながらこれらの多くの推奨案は web アプリケーションにとって必要ではありません。 大抵の場合、これらの推奨案は物事をむやみに複雑化し、本来のSymfony の哲学に従っていません。

このガイドについて

このガイドは フルスタックフレームワーク Symfony を使って web アプリケーションを開発するためのベストプラクティス を記述することで、この状況を正すことが目的です。このベストプラクティスはフレームワークの原作者 Fabien Potencier によって描かれたフレームワークの哲学にのっとっています。

このガイドは 次のような場合に特に適しています :

  • フルスタック Symfony フレームワークを使ってのウェブサイトや web アプリケーションの開発

それ以外にも、Symfony を拡張しあなたの特定の用途にあわせる ときの、スタート地点 としてこのガイドは有用でしょう。

  • Symfony コミュニティにバンドルを公開し共有するとき;
  • 上級開発者やチームが自分たちのスタンダードを作るとき;
  • 高度なカスタマイズが必要とされる複雑なアプリケーションを開発するとき;
  • 社内限定でバンドルを共有するとき;

古い習慣はなかなか滅びないでしょうし、ベストプラクティスのいくつかを見てショックを受ける人がいるかもしれません。しかしベストプラクティスに従えばアプリケーションをより高速に、複雑さを抑えながら、より高品質に作ることができます。ベストプラクティスはまた、自ら改善しつづける動く標的(moving target)でもあります。

これらは 任意の推奨案 であることを覚えておいてください。あなたやあなたのチームはこれら推奨案に従っても従わなくてもよいのです。もしあなたが自分のベストプラクティスと方法論を使い続けたいのなら、もちろんそれもよいでしょう。Symfony は柔軟なのであなたのニーズに合わせることができます。

これは誰のためのドキュメントか (ヒント: これはチュートリアルではありません)

上級者であれ初級者であれ、すべての Symfony 開発者はこのガイドを読むことができます。しかしこのガイドはチュートリアルではないので、実践しようと思ったらSymfony の基礎知識が必要になるでしょう。全くの初心者であれば、 クイックツアー チュートリアルから始めてみてください。

このガイドはわざと短くしています。 膨大な Symfony のドキュメント内に既にある事柄については繰り返し説明はしません。例えば Dependency Injection や フロントコントローラーなどの話題がそうです。あなたが既に知っていることについてどうすべきかということにフォーカスしています。

アプリケーション

このガイドに加えて、ベストプラクティスを全部詰め込んだサンプルアプリケーションを用意しました。このプロジェクトは Symfony デモ アプリケーション と呼ばれており、Symfony インストーラ で入手することができます。まず、 download and install のページを見てインストーラを入手してから下記コマンドを実行してデモアプリケーションをダウンロードしてください。

# Linux and Mac OS X
$ symfony demo

# Windows
c:\> php symfony demo

デモアプリケーションはシンプルなブログエンジンです。理由はこれなら難しい実装の詳細にとらわれることなく Symfony のコンセプトと機能にフォーカスできるからです。このガイドではアプリケーションを一歩一歩開発する代わりに、コードのスニペットを見るだけですむでしょう。

既存のアプリケーションをリファクタリングしないこと

このハンドブックを読んだあとに、あなたは既存の Symfony アプリケーションをリファクタリングしたくなるかもしれません。私達の推奨案は明確です: ベストプラクティスに合わせるために既存アプリケーションをリファクタリングすべきではありません。理由は様々です。:

  • あなたの既存アプリケーションは間違っていません、それは別のガイドラインに従っているだけです;
  • コードベースをがっつりリファクタリングするとバグを混入しがち;
  • リファクタリングに時間を使うよりはテストの改善や機能追加をしてエンドユーザに実価値を届けるほうがよい;
blog comments powered by Disqus