More Related Content
Similar to 蝉测尘蹿辞苍测の始め方 (20)
PPTX
厂测尘蹿辞苍测开発者が尝补谤补惫别濒しようとして云々mimizuk?
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida?
PDF
CodeIgniter 貴方はどのフレームワークを使うべきか?kenjis?
PDF
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)Rui Hirokawa?
More from Hidenori Goto (20)
Recently uploaded (7)
PPTX
Protect Your IoT Data with UbiBot's Private Platform.pptxユビボット 株式会社?
PDF
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿Takuma Oda?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォームフォーガンシー?
蝉测尘蹿辞苍测の始め方
- 1. PHP MVC フレームワーク symfony の始め方 [email_address] 2009/04/05
- 4. 特徴 – アジャイル ファイルが最初から適度に分散されている(適当な粒度) ->アクション、テンプレート、モデル /Peer 、フォーム、設定 各機能を付けたしながら全体を作り上げていくスタイルでも対応しやすい
- 5. 特徴 – オブジェクト指向 PHP5 以降専用の恩恵 例1.オブジェクトメソッドとクラスメソッドの分離(モデルと Peer ) 例2.インターフェイス Iterator 、 ArrayAccess などを自前クラスに実装できる 共有ライブラリを作りやすい
- 6. 特徴 - YAML 設定ファイルの多くは YAML で記述 -> http://ja.wikipedia.org/wiki/YAML 設定ファイルの記述の負担が少ない テストデータを YAML で記述して読み込む仕組み( Fixture File ) ->構文( PHP や SQL )を意識せずにテストデータを作れ、再読み込みなども楽
- 8. 特徴 – O/R マッパー O/R マッパークラス群が自動生成される symfony にて schema を定義 -> propel:build-all にてデータベースを生成 O/R マッパーを介してデータベースのレコードを取得
- 10. symfony を始める 4 つのポイント 基本的な symfony コマンドを覚える ファイルの構成と処理を記述する場所のルールを把握する フォームライブラリに慣れる O/R マッパーに慣れる
- 11. ポイント – symfony コマンド symfony generate:app app 名 symfony generate:module app 名 module 名 symfony cc symfony propel:build-all 開発初期で頻繁に使用するのはこの 4 つ
- 12. ポイント – ファイル構成 /app/app 名 /modules/module 名 / actions/ ??このモジュールのアクション templates/ ??テンプレートファイル config/ ??このモジュールの設定 /lib/model/ ??モデル /Peer クラス /lib/form/ ??フォームクラス
- 13. ポイント – フォームライブラリ 使いこなした方が便利。ただし他のフレームワークへの応用などがあまりきかない。 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
- 14. ポイント – O/R マッパー ( Propel に限定) 条件文の書き方がポイント Criteria クラスの定数?メソッド http://propel.phpdb.org/docs/api/1.3/runtime/propel-util/Criteria.html 基本的にはここにある定数?メソッドで抽出条件を作成する。 複雑な条件文の場合は、 Criteria::CUSTOM さらに複雑な場合は、直接 SQL を記述して実行し、 Peer メソッドの populateObjects を呼び出す 速度が要求される場合や、取得結果がモデルオブジェクトと大幅に異なる場合は、 populateObjects せずに、 PDO で直接レコードをフェッチする