PHP MVC  フレームワーク symfony の始め方 [email_address] 2009/04/05
(いきなり) symfony のデメリット <ul><li>PHP5 以降が必須 (symfony1.2 では 5.2 以降 ) </li></ul><ul><li>日本語の解説サイトがあまり多くはない </li></ul><ul><li>やや...
symfony の特徴 <ul><li>アジャイルな開発スタイルに向いている </li></ul><ul><li>オブジェクト指向プログラミング </li></ul><ul><li>YAML </li></ul><ul><li>O/R マッパー...
特徴 – アジャイル <ul><li>ファイルが最初から適度に分散されている(適当な粒度) ->アクション、テンプレート、モデル /Peer 、フォーム、設定 </li></ul><ul><li>各機能を付けたしながら全体を作り上げていくスタイ...
特徴 – オブジェクト指向 <ul><li>PHP5 以降専用の恩恵 </li></ul><ul><li>例1.オブジェクトメソッドとクラスメソッドの分離(モデルと Peer ) </li></ul><ul><li>例2.インターフェイス It...
特徴  - YAML <ul><li>設定ファイルの多くは YAML で記述 -> http://ja.wikipedia.org/wiki/YAML </li></ul><ul><li>設定ファイルの記述の負担が少ない </li></ul><...
 
特徴 –  O/R マッパー <ul><li>O/R マッパークラス群が自動生成される </li></ul><ul><li>symfony にて schema を定義 -> propel:build-all にてデータベースを生成 </li><...
 
symfony を始める 4 つのポイント <ul><li>基本的な symfony コマンドを覚える </li></ul><ul><li>ファイルの構成と処理を記述する場所のルールを把握する </li></ul><ul><li>フォームライブ...
ポイント –  symfony コマンド <ul><li>symfony generate:app app 名 </li></ul><ul><li>symfony generate:module app 名  module 名 </li></u...
ポイント – ファイル構成 <ul><li>/app/app 名 /modules/module 名 /   actions/   ・・このモジュールのアクション   templates/  ・・テンプレートファイル   config/    ...
ポイント – フォームライブラリ <ul><li>使いこなした方が便利。ただし他のフレームワークへの応用などがあまりきかない。 </li></ul><ul><li>AdminGenerator を使用する場合は、理解必須 </li></ul><...
ポイント –  O/R マッパー <ul><li>( Propel に限定) 条件文の書き方がポイント </li></ul><ul><li>Criteria クラスの定数・メソッド http://propel.phpdb.org/docs/ap...
Symfony 開発のルーティン(マクロ) <ul><li>データ構造を大まかに設計 </li></ul><ul><li>URL 構造と画面遷移を大まかに設計 </li></ul><ul><li>実装(ミクロなルーティン) </li></ul>...
Symfony 開発のルーティン(ミクロ) <ul><li>設置・最初の app を生成、データベース接続情報の設定 </li></ul><ul><li>schema.yml にスキーマを記述 </li></ul><ul><li>propel:...
その他の便利な機能 <ul><li>AdminGenerator </li></ul><ul><li>タスク </li></ul><ul><li>テスト </li></ul><ul><li>プラグイン </li></ul>
Upcoming SlideShare
Loading in …5
×

symfonyの始め方

3,042 views

Published on

IT勉強会用スライド
symfonyの始め方

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,042
On SlideShare
0
From Embeds
0
Number of Embeds
94
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

symfonyの始め方

  1. 1. PHP MVC フレームワーク symfony の始め方 [email_address] 2009/04/05
  2. 2. (いきなり) symfony のデメリット <ul><li>PHP5 以降が必須 (symfony1.2 では 5.2 以降 ) </li></ul><ul><li>日本語の解説サイトがあまり多くはない </li></ul><ul><li>ややメモリ使用量が多い </li></ul>
  3. 3. symfony の特徴 <ul><li>アジャイルな開発スタイルに向いている </li></ul><ul><li>オブジェクト指向プログラミング </li></ul><ul><li>YAML </li></ul><ul><li>O/R マッパー </li></ul>
  4. 4. 特徴 – アジャイル <ul><li>ファイルが最初から適度に分散されている(適当な粒度) ->アクション、テンプレート、モデル /Peer 、フォーム、設定 </li></ul><ul><li>各機能を付けたしながら全体を作り上げていくスタイルでも対応しやすい </li></ul>
  5. 5. 特徴 – オブジェクト指向 <ul><li>PHP5 以降専用の恩恵 </li></ul><ul><li>例1.オブジェクトメソッドとクラスメソッドの分離(モデルと Peer ) </li></ul><ul><li>例2.インターフェイス Iterator 、 ArrayAccess などを自前クラスに実装できる </li></ul><ul><li>共有ライブラリを作りやすい </li></ul>
  6. 6. 特徴 - YAML <ul><li>設定ファイルの多くは YAML で記述 -> http://ja.wikipedia.org/wiki/YAML </li></ul><ul><li>設定ファイルの記述の負担が少ない </li></ul><ul><li>テストデータを YAML で記述して読み込む仕組み( Fixture File ) ->構文( PHP や SQL )を意識せずにテストデータを作れ、再読み込みなども楽 </li></ul>
  7. 8. 特徴 – O/R マッパー <ul><li>O/R マッパークラス群が自動生成される </li></ul><ul><li>symfony にて schema を定義 -> propel:build-all にてデータベースを生成 </li></ul><ul><li>O/R マッパーを介してデータベースのレコードを取得 </li></ul>
  8. 10. symfony を始める 4 つのポイント <ul><li>基本的な symfony コマンドを覚える </li></ul><ul><li>ファイルの構成と処理を記述する場所のルールを把握する </li></ul><ul><li>フォームライブラリに慣れる </li></ul><ul><li>O/R マッパーに慣れる </li></ul>
  9. 11. ポイント – symfony コマンド <ul><li>symfony generate:app app 名 </li></ul><ul><li>symfony generate:module app 名 module 名 </li></ul><ul><li>symfony cc </li></ul><ul><li>symfony propel:build-all </li></ul><ul><li>開発初期で頻繁に使用するのはこの 4 つ </li></ul>
  10. 12. ポイント – ファイル構成 <ul><li>/app/app 名 /modules/module 名 /   actions/   ・・このモジュールのアクション   templates/  ・・テンプレートファイル   config/    ・・このモジュールの設定 </li></ul><ul><li>/lib/model/  ・・モデル /Peer クラス </li></ul><ul><li>/lib/form/   ・・フォームクラス </li></ul>
  11. 13. ポイント – フォームライブラリ <ul><li>使いこなした方が便利。ただし他のフレームワークへの応用などがあまりきかない。 </li></ul><ul><li>AdminGenerator を使用する場合は、理解必須 </li></ul><ul><li>ウィジェット・バリデータの一覧 http://www.symfony-project.org/book/forms/1_2/en/A-Widgets http://www.symfony-project.org/book/forms/1_2/en/B-Validators </li></ul>
  12. 14. ポイント – O/R マッパー <ul><li>( Propel に限定) 条件文の書き方がポイント </li></ul><ul><li>Criteria クラスの定数・メソッド http://propel.phpdb.org/docs/api/1.3/runtime/propel-util/Criteria.html 基本的にはここにある定数・メソッドで抽出条件を作成する。 </li></ul><ul><li>複雑な条件文の場合は、 Criteria::CUSTOM </li></ul><ul><li>さらに複雑な場合は、直接 SQL を記述して実行し、 Peer メソッドの populateObjects を呼び出す </li></ul><ul><li>速度が要求される場合や、取得結果がモデルオブジェクトと大幅に異なる場合は、 populateObjects せずに、 PDO で直接レコードをフェッチする </li></ul>
  13. 15. Symfony 開発のルーティン(マクロ) <ul><li>データ構造を大まかに設計 </li></ul><ul><li>URL 構造と画面遷移を大まかに設計 </li></ul><ul><li>実装(ミクロなルーティン) </li></ul><ul><li>  どういった URL で何を見せるのかを先に設計し、それに合わせてモジュールを作成していく。 </li></ul>
  14. 16. Symfony 開発のルーティン(ミクロ) <ul><li>設置・最初の app を生成、データベース接続情報の設定 </li></ul><ul><li>schema.yml にスキーマを記述 </li></ul><ul><li>propel:build-all </li></ul><ul><li>モジュールを生成 </li></ul><ul><li>モジュール内のアクション・テンプレートを編集 以下 2 ~ 5 の繰り返し </li></ul>
  15. 17. その他の便利な機能 <ul><li>AdminGenerator </li></ul><ul><li>タスク </li></ul><ul><li>テスト </li></ul><ul><li>プラグイン </li></ul>

×