• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
symfonyの始め方
 

symfonyの始め方

on

  • 4,488 views

IT勉強会用スライド

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

Statistics

Views

Total Views
4,488
Views on SlideShare
4,401
Embed Views
87

Actions

Likes
1
Downloads
2
Comments
0

4 Embeds 87

http://tajimi-it.jimdo.com 66
http://www.sfexception.com 11
http://s.deeeki.com 6
http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    symfonyの始め方 symfonyの始め方 Presentation Transcript

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