Upload
soudai-sone
View
28.020
Download
1
Embed Size (px)
DESCRIPTION
第四回 岡山PHP勉強会での発表資料です
Citation preview
今、最も勢いのあるWEBフレームワーク
「 FuelPHP 」
What is it?
みなさん
フレームワーク
知ってますか?&使ってますか?
What is it?
今日はちょっと楽したい人への提案です
(知ってる人はおさらい)
あじぇんだ
1 自己紹介
2 FuelPHP ってなに?
3 FuelPHP のすごい機能
4 まとめ
あじぇんだ
1 自己紹介
2 FuelPHP ってなに?
3 FuelPHP のすごい機能
4 まとめ
自己紹介
名前:曽根 壮大(そね たけとも)年齢:28歳(二十代だよ!)職業: WEB 系プログラマー
技術的には WEB 系で LL とか RDB をゴリゴリしてます。
日本 PostgreSQL ユーザ会
Twitter は
@soudai1025
と言うアカウントで活動してます。
※ 技術的なツイートは皆無です。
自己紹介
最近、 FuelPHP を使って WEB アプリ作りました。
参考ブログ:
WEBアプリで勝敗チェッカー β版 を作りました!!
あじぇんだ
1 自己紹介
2 FuelPHP ってなに?
3 FuelPHP のすごい機能
4 まとめ
FuelPHP ってなに?
FuelPHP とは?
FuelPHP ってなに?
FuelPHP とは?
↓
PHP5.3 以上を対象にした WEB フレームワーク
FuelPHP ってなに?
FuelPHP とは?
↓
PHP5.3 以上を対象にした WEB フレームワーク
↓
良いとこ取りした Rails+CodeIgnitor っぽい
FuelPHP ってなに?
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・オートローダー
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・オートローダー
・ HMVC+ViewModel
・
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・オートローダー
・ HMVC+ViewModel
・パッケージ管理
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・オートローダー
・ HMVC+ViewModel
・パッケージ管理
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
・規約より設定
・ PHP は 5.3 以上が必須
・オートローダー
・ HMVC+ViewModel
・パッケージ管理
・他にも先進的な機能が多数
FuelPHP の特徴
FuelPHP ってなに?
$ curl get.fuelphp.com/oil | sh
$ oil create /path/to/install_dir/project_name
FuelPHP のインストール
FuelPHP ってなに?
$ curl get.fuelphp.com/oil | sh
$ oil create /path/to/install_dir/project_name
FuelPHP のインストール
Githubからダウンロードしてインストールするだけ!!
あじぇんだ
1 自己紹介
2 FuelPHP ってなに?
3 FuelPHP のすごい機能
4 まとめ
FuelPHP のすごい機能
FuelPHP の具体的な機能を見て行きましょう
FuelPHP のすごい機能
オートローダー
FuelPHP のすごい機能
・クラスを自動的に読み込む
・使われる時に必要なクラスだけ読み込む
・ただし… ・ファイル名とフォルダ名はすべて小文字
・クラスは最初の文字のみ大文字でその他は小文字 ・クラス名の中のアンダースコア( _ )はフォルダ区切り
オートローダー
FuelPHP のすごい機能
・クラスを自動的に読み込む(自作したクラスも)
・使われる時に必要なクラスだけ読み込む
・ただし… ・ファイル名とフォルダ名はすべて小文字
・クラスは最初の文字のみ大文字でその他は小文字 ・クラス名の中のアンダースコア( _ )はフォルダ区切り
オートローダー
FuelPHP のすごい機能
・クラスを自動的に読み込む(自作したクラスも)
・使われる時に必要なクラスだけ読み込む
・ただし… ・ファイル名とフォルダ名はすべて小文字
・クラスは最初の文字のみ大文字でその他は小文字 ・クラス名の中のアンダースコア( _ )はフォルダ区切り
オートローダー
クラスを作る度に呼び出しに悩むことが無くなる
FuelPHP のすごい機能
具体的には
FuelPHP のすごい機能
├── controller
│ └── welcome.php
└── model
└── muser.php
フォルダ構成
FuelPHP のすごい機能
// インスタンス化
$m_user = new Model_Muser;
$user = $m_user->get_m_user();
// static なメソッドの呼び出し
$user = Model_Muser::get_m_user();
クラスの呼び出しwelcome.phpからmodel/muser.phpのクラス名「Model_Muser」を呼ぶ
FuelPHP ってなに?
もし /test/model/muser.php を呼びたかったら
FuelPHP ってなに?
もし /test/model/muser.php を呼びたかったら
↓
Class フォルダ名 _ フォルダ名 _ 実クラス名
FuelPHP ってなに?
もし /test/model/muser.php を呼びたかったら
↓
Class フォルダ名 _ フォルダ名 _ 実クラス名
↓
$test = new Test_Model_Muser
FuelPHP のすごい機能
・クラスを自動的に読み込む
・使われる時に必要なクラスだけ読み込む
・ただし… ・ファイル名とフォルダ名はすべて小文字
・クラスは最初の文字のみ大文字でその他は小文字 ・クラス名の中のアンダースコア( _ )はフォルダ区切り
オートローダー
FuelPHP のすごい機能
ViewModel
FuelPHP のすごい機能
・ View に関するビジネスロジックなどを書く場所
・ Controller の肥大を防止して薄く出来る
・ Model はデータのやり取りなどシンプルになる
・ View は表示だけに専念出来る
ViewModel
FuelPHP のすごい機能
Model
ViewControllerIN OUT
MVC の関係
FuelPHP のすごい機能
Model
ViewController
ロジック
IN OUT
MVC の関係
FuelPHP のすごい機能
・入力のバリデーション
・データの加工
・データベース等とのデータのやり取り
…などなど
Model でやるべきこと
FuelPHP のすごい機能
・データの取り出しはシンプルにしたい
・クラスもシンプルにしたい
・それぞれの依存もシンプルにしたい
・特定の場面でしか使わないクラスファイルが生まれる
Model の悩み
FuelPHP のすごい機能
そこでViewModel!
FuelPHP のすごい機能
Model
ViewControllerIN OUT
ViewModel
FuelPHP のすごい機能
・ View に依存するデータの取り出しや加工
・データの追加・編集は model に集約できる
( ViewModel でデータの操作を一切すべきではない)
・ View に依存したロジックを Model から分離できる
ViewModel
FuelPHP のすごい機能
ViewModel でアプリがよりシンプルに!
FuelPHP のすごい機能
・ DB マイグレーション
・ Fieldset
・ REST コントローラー
・ PHPUnit に完全準拠
・ CSRF 対策
・プロファイラ
他にもいっぱい
他にも
あじぇんだ
1 自己紹介
2 FuelPHP ってなに?
3 FuelPHP のすごい機能
4 まとめ
まとめ
1 今から PHP フレームワークを選ぶ人
2 Rails や codeIgnitor を触った事がある人
3 PHP で楽しい開発がしたい人
オススメする人
まとめ
始めたい人へ
1 FuelPHPまとめWiki
2 公式ドキュメント
3 今からFuelPHPを使う人が知るべき5つのこと
FuelPHP のすごい機能
FuelPHP で楽しくなろう!