More Related Content
Similar to スイーツ(笑)がハモってみた - メモあり
Similar to スイーツ(笑)がハモってみた - メモあり (20)
More from Satoshi Hirata (20)
スイーツ(笑)がハモってみた - メモあり
- 1. スーツ(笑)が
ハモってみた
2009/02/27
株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
- 2. スーツ(笑)が
ハモってみた
合奏してみた
2009/02/27
株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
- 4. 0. 自己紹介
初めてのPiFでいきなり喋ります。
緊張しまくりです。><
Copyright © Fusic Co., Ltd. All rights reserved. 4
- 5. 0. 自己紹介
* *
+ うそです
*
n ∧_∧ n
+ (ヨ(* ´∀`)E)
*
Y Y
だって大半の人知ってますもん。
Copyright © Fusic Co., Ltd. All rights reserved. 5
- 6. 0. 自己紹介
平田 哲 (id:debility)
・プログラマ
主な開発言語
- PHP
- Java
- Perl
- AIR
- lingo (Adobe director)
- Visual C++
Copyright © Fusic Co., Ltd. All rights reserved. 6
- 7. 0. 自己紹介
平田 哲 (id:debility)
・プログラマ
DBも当然使います
- PostgreSQL
- MySQL
- Oracle
- Firebird
- Access
Copyright © Fusic Co., Ltd. All rights reserved. 7
- 8. 0. 自己紹介
平田 哲 (id:debility)
・プログラマ
会社での(多分)主担当
- サーバ周りあれこれ
- ネットワーク周りあれこれ
-
・・・何屋さんなのかと。
Copyright © Fusic Co., Ltd. All rights reserved. 8
- 9. 0. 自己紹介
平田 哲 (id:debility)
・プログラマ
ここ最近の喋ったヒストリ
- Fukuoka.pm
- AIR Business Community
- PHP in Fukuoka
・・・節操がない。
Copyright © Fusic Co., Ltd. All rights reserved. 9
- 10. 0. 自己紹介
あんまし気にせずズンドコ喋ります。
Copyright © Fusic Co., Ltd. All rights reserved. 10
- 12. 1. フレームワークの話
そもそも。
なぜフレームワークを使うのか。
=楽したいからに決まってます。
苦労ばかりなら使いません。
Copyright © Fusic Co., Ltd. All rights reserved. 12
- 13. 1. フレームワークの話
個人的使う理由あれこれ
- システム設計が固めやすい
- 特にO/Rマッパが楽
- 車輪の再発明があんましいらない
- 話が通じやすい(内外とも)
- などなど
Copyright © Fusic Co., Ltd. All rights reserved. 13
- 14. 1. フレームワークの話
特にRails以降大きく変わった気がします。
昔はもうちょい長期的な観点で得するよ的
だった気もするんですが。
最近だとちょっとしたところでもさっくり
フレームワーク使って楽してます。
コストが下がって質が上がる
→使ったほうが何かと便利。
Copyright © Fusic Co., Ltd. All rights reserved. 14
- 15. 1. フレームワークの話
でも、何使えばいいのかしら。
- Zend Frameworkとか
- CakePHPとか
- symfonyとか
- AlkeosとかCodeIgniterとか
- QcodoとかSolarとか
そりゃもうたくさんあります。
Copyright © Fusic Co., Ltd. All rights reserved. 15
- 16. 1. フレームワークの話
今日は
- CakePHP
- symfony
についてざっくり喋ります。
Copyright © Fusic Co., Ltd. All rights reserved. 16
- 17. 1. フレームワークの話
特に
- symfony
を掘り下げます。
Copyright © Fusic Co., Ltd. All rights reserved. 17
- 19. 2. ざっくりCakePHP
CakePHP
- 高速開発フレームワーク
- MVC
- O/Rマッピング
- 「設定より規約優先」
- Railsラクらしい
Copyright © Fusic Co., Ltd. All rights reserved. 19
- 20. 2. ざっくりCakePHP
CakePHP
- 特に小規模向けらしい
- PHP4でも動く
- デゖレクトリ単位で配布
Copyright © Fusic Co., Ltd. All rights reserved. 20
- 22. 3. ざっくりsymfony
symfony
- 開発パターンの自動化
- MVC
- O/Rマッピング
- これもRailsラクらしい
Copyright © Fusic Co., Ltd. All rights reserved. 22
- 23. 3. ざっくりsymfony
symfony
- 特に中~大規模向けらしい
- PHP5(最新版だと5.2以降)
- PEARでンストール
- sandboxもある
Copyright © Fusic Co., Ltd. All rights reserved. 23
- 25. 4. ざっくり両者比較
フゔル構成
symfony
CakePHP
apps
app config
lib
plugins
cake
test
web
Copyright © Fusic Co., Ltd. All rights reserved. 25
- 26. 4. ざっくり両者比較
CakePHPの構成掘り下げ
app config
controllers
models
plugins
tests
views
webroot
Copyright © Fusic Co., Ltd. All rights reserved. 26
- 27. 4. ざっくり両者比較
symfonyの構成掘り下げ①
apps frontend
backend
・・・
Copyright © Fusic Co., Ltd. All rights reserved. 27
- 28. 4. ざっくり両者比較
symfonyの構成掘り下げ②
frontend config
lib
modules config
templates actions
templates
Copyright © Fusic Co., Ltd. All rights reserved. 28
- 29. 4. ざっくり両者比較
symfonyの構成掘り下げ③
lib form
model
symfony
Copyright © Fusic Co., Ltd. All rights reserved. 29
- 30. 4. ざっくり両者比較
構成を並べるとこんな感じ
symfony
CakePHP
V/C/など V/C/など
M/V/C/など frontend backend
システム Model/Form
Cake本体 Symfony本体
PHP DB PHP DB
Copyright © Fusic Co., Ltd. All rights reserved. 30
- 31. 4. ざっくり両者比較
開発の流れ
symfony
CakePHP
DB設計/構築 設計する
(bake) YAML書く
作り込み 自動生成
作り込み
Copyright © Fusic Co., Ltd. All rights reserved. 31
- 32. 4. ざっくり両者比較
中身の違い
symfony
CakePHP
そこそこ かなり
オブジェクト指向 オブジェクト指向
baker コマンド
配列 YAML
Copyright © Fusic Co., Ltd. All rights reserved. 32
- 33. 4. ざっくり両者比較
CakePHPの中身掘り下げ
そこそこ
オブジェクト指向
baker
配列
Copyright © Fusic Co., Ltd. All rights reserved. 33
- 34. 4. ざっくり両者比較
symfonyの中身掘り下げ
かなり
オブジェクト指向
コマンド
YAML
Copyright © Fusic Co., Ltd. All rights reserved. 34
- 37. 5. symfony事始め
いくつか注意事項
・symfony1.1の話です(最新は1.2)
・作法に沿っていない部分もあります
・cakePHPとの比較目線で実際に使って
みた感想を元に喋っているので、本に書い
てあるようなこととは若干論点がずれたり
しています。
Copyright © Fusic Co., Ltd. All rights reserved. 37
- 38. 5. symfony事始め
登場するもの
- symfony CLI
- YAML
- モデル
- Peer
- Base/BasePeer
- フォーム
- バリデータ
- ゕプリケーション
Copyright © Fusic Co., Ltd. All rights reserved. 38
- 39. 5. symfony事始め
登場するもの
- モジュール
- ゕクション
- コンポーネント
- テンプレート
- ヘルパー
- パーシャル
- スロット
- コンポーネントスロット
Copyright © Fusic Co., Ltd. All rights reserved. 39
- 40. 5. symfony事始め
登場するもの
- プロペル
- クラテリゕ
- オートローダ
-
-
-
Copyright © Fusic Co., Ltd. All rights reserved. 40
- 41. 5. symfony事始め
多い!
Copyright © Fusic Co., Ltd. All rights reserved. 41
- 42. 5. symfony事始め
登場するもの(重要なところだけ)
- symfony CLI
- YAML
- モデル
- Peer
- Base/BasePeer
Copyright © Fusic Co., Ltd. All rights reserved. 42
- 43. 5. symfony事始め
登場するもの(重要なところだけ)
- モジュール
- ゕクション
- コンポーネント
- テンプレート
- パーシャル
Copyright © Fusic Co., Ltd. All rights reserved. 43
- 44. 5. symfony事始め
登場するもの(重要なところだけ)
- プロペル
- クラテリゕ
Copyright © Fusic Co., Ltd. All rights reserved. 44
- 45. 5. symfony事始め
とりあえず使ってみる
- PEARでンストールか
- sandbox落としてきて置くか
いずれにせよまずはinit-project
Copyright © Fusic Co., Ltd. All rights reserved. 45
- 46. 5. symfony事始め
DB設計
- YAML書く
- YAMLからSQL生成する
- テーブル作る
- Model作る
Copyright © Fusic Co., Ltd. All rights reserved. 46
- 47. 5. symfony事始め
ゕプリ開発
- init-app
- init-module
- Formオブジェクト生成
- YAML書く
- 細かい動きは自分で書く
- の繰り返し(だいたい)
Copyright © Fusic Co., Ltd. All rights reserved. 47
- 49. 6. 使ってみた話
前提
- 既存の二次開発
- 入力I/F大体決まってる
- DB構成も大体決まってる
- symfonyに寄せきれない
→ とりあえずORMだけでも活かせれば
Copyright © Fusic Co., Ltd. All rights reserved. 49
- 50. 6. 使ってみた話
ログン
- module作る
- settings.ymlをちょっと書く
- 動いた
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 50
- 51. 6. 使ってみた話
メニュー
- layout.php書く
- _menu.phpを書く
- include_partial(‘global/menu’);
- 動いた
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 51
- 52. 6. 使ってみた話
検索作る
- 既存のSQL見る
- Criteriaで置き換える
- 置き換える
- 置き換える
- 置き換えた
- ちゃんと取れた
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 52
- 53. 6. 使ってみた話
登録作る
- Formオブジェクト作る
- バリデーション書く
- $paramに放り込む
- bindする
- isValidののちsaveする
- 入った
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 53
- 54. 6. 使ってみた話
更新作る
- $paramに放り込む
- bindする
- isValidののちsaveする
- 更新された
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 54
- 55. 6. 使ってみた話
削除作る
- retrieveByPKでデータ拾う
- delete呼ぶ
- 削除された
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 55
- 56. 6. 使ってみた話
論理削除
- sfPropelParanoidBehaviorPlugin
- 突っ込む
- schema.yml書き換える
- symfony propel:build-model
- でけた
- ( ´∀`)
Copyright © Fusic Co., Ltd. All rights reserved. 56
- 58. 7. 使ってみた話(裏)
ログン(裏)
- module作る
- settings.ymlをちょっと書く
- 動いた
- ( ´∀`)
- timeoutがうまく効かない
- (; ´ Д`) ??
- autoload.ymlに書くのが正解
Copyright © Fusic Co., Ltd. All rights reserved. 58
- 59. 7. 使ってみた話(裏)
メニュー(裏)
- layout.php書く
- _menu.phpを書く
- include_partial(‘global/menu’);
- 動かない
- (; ´ Д`) ??
- jQueryがとにかく怒られる
- Prototypeと競合してた
- noConflictで解決
Copyright © Fusic Co., Ltd. All rights reserved. 59
- 60. 7. 使ってみた話(裏)
検索作る(裏)
- 既存のSQL見る
- Criteriaで置き換える
- 置き換える
- 置き換える
- 置き換えた
- ちゃんと取れない
- (; ´ Д`) ??
Copyright © Fusic Co., Ltd. All rights reserved. 60
- 61. 7. 使ってみた話(裏)
検索作る(裏)
- YAMLが記述足りかった
- 書く
- 挙動がもっとおかしくなった
- (; ´ Д`) ????
- symfony cc
- まだ動かない
Copyright © Fusic Co., Ltd. All rights reserved. 61
- 62. 7. 使ってみた話(裏)
検索作る(裏)
- timestampで怒られる
- ソース掘りさげる
- 既存のデータが過去すぎる
- 少し修正
- やっと動いた
Copyright © Fusic Co., Ltd. All rights reserved. 62
- 63. 7. 使ってみた話(裏)
更新作る(裏)
- $paramに放り込む
- bindする
- isValidののちsaveする
- 入らない
- (; ´ Д`) ??
- 全部のパラメータをきちんとセット
- 動いた
- ちょっと面倒(方法ありそう)
Copyright © Fusic Co., Ltd. All rights reserved. 63
- 64. 7. 使ってみた話(裏)
論理削除(裏)
- sfPropelParanoidBehaviorPlugin
- 突っ込む
- schema.yml書き換える
- symfony propel:build-model
- 怒られる
- (; ´ Д`) ??
Copyright © Fusic Co., Ltd. All rights reserved. 64
- 65. 7. 使ってみた話(裏)
論理削除(裏)
- 削除フラグは用意してた
- デフォルトの削除判定はtimestamp
- 動かない
- pluginちょびっと修正
- 動いた
Copyright © Fusic Co., Ltd. All rights reserved. 65
- 67. 8. symfony雑感
ステキなところ
- 開発の自動化
- YAMLでかなりの部分記述できる
- ORMの吐くSQLがきれい
- きちんとオブジェクト指向
- コントロールパネルが便利
- ↓こんなのが右上に出せる
Copyright © Fusic Co., Ltd. All rights reserved. 67
- 68. 8. symfony雑感
ステキなところ
- 既存DBの活用が楽
- Criteria/schema.yml
- pluginを活用したらもっと楽
- NetBeansが正式サポート
Copyright © Fusic Co., Ltd. All rights reserved. 68
- 69. 8. symfony雑感
微妙なところ
- 学習コストが高い
- 登場人物が多すぎる
- 公式リフゔレンスが使いにくい
- 小技のドキュメント/記事が少ない
とかあったらいいのに。
Copyright © Fusic Co., Ltd. All rights reserved. 69
- 71. 9. ざっくりまとめ
・Railsラク ≠ Rails
・symfonyは巧く乗りこなすと楽できる
→ 乗りこなすまでは結構大変
とりあえず小さいものからちょこちょこ
作ってみるといいと思います。
いくつかシステムを作っていくうちにクセ
とかが身に付くので。
Copyright © Fusic Co., Ltd. All rights reserved. 71
- 72. 9. ざっくりまとめ
あと、今からsymfony始めるなら。
NetBeansはかなり強力な助けになって
くれるはずです。ぜひ導入検討をしてみて
ください。
・・・フレームワークの話してたつもりが
最後はIDE紹介になってしまいました。
決して の陰謀ではありませんよ。
Copyright © Fusic Co., Ltd. All rights reserved. 72