Symfonyは、現在のPHPフレームワークの中で最も使われているものの1つです。部品の再利用性が高いソースコードが読みやすい世界的にユーザが多い柔軟性が高いなどがあるかと思います。「クセが少ない」というのがあると思います。汎用的であるということです。Symfonyで学んだ知識や哲学は、他のフレームワークや他の言語で開発するときにもきっと役にたつことでしょう。想定読者と推奨環境PHPは少し使えるけどSymfonyは初めてという方を対象にしています。Linux/Unixの基本的なコマンドは使えることを想定しています。動作環境はLinux及びMacです。(Windowsの方はVagrant等の仮想環境を使ってください)PHP5.4以上のバージョンを推奨します。Symfonyコマンドをインストールまずsymfonyコマンドをインストールします。言って、プロジェクトのセットアップを自動化してくれるツールです。インストールと言ってもファイル1個落としてくるだけです。パスの通った場所ならどこでもかまいません。/usr/local/bin/symfony下記を実行してバージョン情報が表示されたらOKです。1.1.7プロジェクト作成このsymfonyコマンドを使ってプロジェクトを自動作成することができます。myprojectこのコマンドはSymfonyの最新安定版をもとにプロジェクトのひな形をmyprojectディレクトに作成してくれます。アクセスしてみましょう。みたいなエラー画面が表示されたと思います。これは、そのURLに対するアクションが未定義のときに出るエラーです。正しい挙動なので安心してください。アクセスしてください。真っ白な画面にHomepage.と表示されるはずです。これで、Symfonyのインストールと起動は成功です。server:runは使いません。アクセスしたときに何が起こっているのかhttp://localhost:8000/app/exampleにアクセスしたときに内部で何が起こっているのでしょうか?答えを先に言うとmyprojectの下のsrc/AppBundle/Controller/DefaultController.phpというファイルが実行されます。}}/app/exampleというURLにアクセスすると、上記のindexAction()というメソッドが呼び出されます。indexActionはtwigのテンプレートファイルを使ってHTMLコンテンツを生成し、それをレスポンスとして返します。挙動を変えてみようさてこれだけでは面白くないので挙動を変えてみましょう。twigファイルをいじってもよいのですが、せっかくSymfonyを使っているので生のレスポンスオブジェクトを返してみましょう。DQNEOという文字列が画面に表示されると思います。こんな感じで、あるURLにアクセスするあるルールに従ってコントローラクラスのアクションメソッドが呼び出されるアクションメソッドは、レスポンスを生成してreturnするそのレスポンスがクライアント(=ブラウザ)に送信されるこれがSymfonyの基本動作です。