忍者ブログ

uthorofotus iruc

プログラムを組むために考えたり憶えたりした、いろいろなことを記録していきます。タイトルの読みは「ウソロフォトス イルーク」

[12]  [11]  [10]  [9]  [8]  [7]  [6]  [5]  [4]  [3]  [2

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHPフレームワーク symfony

PHPのフレームワーク界隈では、symfonyが大きく注目を集めています。最近ではYahoo! bookmarksでsymfonyが採用されたことによって、Zend FrameworkCakePHPなどのライバルフレームワークに一歩差をつけたように感じます。

symfonyは一体どんなフレームワークなのでしょう?


symfonyの特徴として、豊富な機能と良質なドキュメントがあげられます。symfonyサイトのドキュメントページ

Ruby on Railsの登場以降、Webアプリケーション構築のフレームワークはRailsの影響を大きく受けて変化してきました。symfonyの機能も、そのRailsの影響を受けています。PHPフレームワークの中でも多機能といわれるsymfonyを理解しておけば、他のRails影響下にあるフレームワークに移行した場合でも、機能および仕組みが理解できる可能性が高いでしょう。

symfonyのドキュメントは、APIや基本機能のドキュメントが用意されているのも良い点ですが、他のフレームワークに比べてチュートリアルが丁寧に作られています。Webアプリケーションフレームワークのドキュメント・チュートリアルは、やはりRuby on Railsが一番多いのですが、言語がRubyのため、Railsの情報がPHPフレームワークにそのまま使えるわけではありません。PHPでアプリケーションを作るのであれば、PHPフレームワークを憶えるのが筋でしょう。でも、上に書いたようにsymfonyもRails影響下にありますので、どんなフレームワークなのか知っておくことはこれからsymfonyを理解する助けになるでしょう。

【閑話休題
私はRuby on Rails入門―優しいRailsの育て方というRails解説本をsymfonyを理解する前に読んでいます。この本は、書店で適当に選んだのですが、どんな機能(クラス・メソッド)やフレームワークの仕組みがあるかという説明(リファレンス的)が中心で、アプリケーションをどういった手順で作っていくかというチュートリアル的な解説書ではなかったです。】

symfonyのドキュメントページには、"my first profect"と"askeet"の2つのチュートリアルがあります。my first profectは1ページにCRUD(Create/Read/Update/Delate)基本アプリケーションの解説があります。これは、すでにできあがったソースコードをダウンロード・設置して、その動作を確認するものです。symfonyでどんなことができるのか知るにはよいですが、自分で一から作っていった方が深い理解に繋がりますので、askeetチュートリアルの方をやっていきます。

askeetチュートリアルは、askeet!(=ask it)というsymfonyについてQ&Aサイトを実際に1から作っていくチュートリアルです。完成したアプリケーションが実際のサイトで使われていますので、作っていく際もイメージがしやすいのではないでしょうか?askeetチュートリアルは24回に分けられていますので、一気に作り上げる時間がなくとも、1回づつゆっくりと作っていけます。なお、askeetチュートリアルの1回を"day"と呼んでいますが、これはチュートリアルを1日1ページ(1day)づつ公開していった経緯から、そのように呼ばれています。1dayあたり、大体1時間の作業だそうです。この時間はあくまでも目安なので、気にしないでください。というか、英語を読むのに時間がかかったり、変なところでエラーがでたりしますので、1時間で終わることはまず無いでしょう。

askeetチュートリアルは、本家symfonyサイト上ではday four(4)まで和訳が終わっているようですのでそちらをみるといいでしょう。それ以降については、有志が和訳をしているようです。和訳後に本家チュートリアルが変更されている場合がありますので、もし上手く行かない時は英語のチュートリアルを見直してみるといいかもしれません。あと、zuzaraさんがaskeetチュートリアルを24日分を終えられています。各日の感想をブログにされているようですので、そちらも参考になりそうです。

現状、私はday nine(9)まで終わっています。askeetのday eight[8] 終了時点

ここまでやってきた感触ですが、day one(1)からday three(3)までの間はsymfony自体に慣れていないこともあり、チュートリアル通りに上手く動いてくれない点がいくつかありました。この辺りではsymfonyでアプリケーションを構築する前準備にあたる作業をするため、他の環境(Webサーバ・DBサーバ)の影響で指示通り動作してくれない可能性があります。作業者も言われるがままに作業をしている(作業意図があやふや)状態ですので、どこが原因で動作しなかったのか判断がつきにくいです。そのため、問題解決を諦めてチュートリアルをやめてしまう人がいそうな気がします。

現に、私もday two(2)で一度挫折(※)しています。そのときはWindows(XAMPP)環境でURLルーティング(多分apacheのmod_rewrite)関連でした。今回はLinux(Ubuntu Dapper Drake)で再挑戦をして、day nineまでたどり着いています。チュートリアル内容を思い返すと、day four(4)まで言ってしまえばある程度symfonyがどんなことをしているのかわかってきますし、チュートリアル指示の意図も理解しやすいですので、困る箇所がほとんどなくなってきます。

※別にWindows環境でaskeetが出来ないというわけではありません。私に根性なかっただけです。

これから、askeetチュートリアルの各内容(dayごと)について、自分がとまどったところなどをフォロー・解説していけたらいいなと思います。もしかしたら、day three(3)あたりで文章を書くのが面倒になって挫折するかもしれません。その場合でも山は越えたはずですので、後はがんばってください。

PR

この記事にコメントする

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字

この記事へのトラックバック

この記事にトラックバックする:

WindowsUpdateが失敗する HOME subversionの".svn"を削除するワンライナー

プロフィール

HN:
flyfront
性別:
非公開
自己紹介:
PHPプログラマ。東京でsymfonyな仕事してます。

HNはflyfrontですが、
仕事関係ではr_koike名義を使ってる場合もあります。

Wassr

カレンダー

11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

最新コメント

[01/02 通りすがり]
[10/18 flyfront]

バーコード

アクセス解析

忍者ブログ [PR]
Template by repe