FuelPHPで始めるモダンPHP開発!! 
OSC2014@広島
What is it? 
みなさんPHP好きですか?
What is it?
What is it? 
本当にPHPはオワコンなのか?
What is it? 
PHPでも楽しい開発はできます!!
What is it? 
今日はそんなPHPの開発事情の話をします
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
自己紹介 
名前:曽根 壮大(そね たけとも) 
年齢:29歳(三人の子供がいます) 
職場:Webエンジニア 
所属:日本PostgreSQLユーザ会 
技術的にはWeb系でLLとかRDB大好きです
自己紹介 
名前:曽根 壮大(そね たけとも) 
年齢:29歳(三人の子供がいます) 
職場:Webエンジニア 
所属:日本PostgreSQLユーザ会 
中国支部長やってます
自己紹介 
名前:曽根 壮大(そね たけとも) 
年齢:29歳(三人の子供がいます) 
職場:Webエンジニア 
所属:日本PostgreSQLユーザ会 
中国支部長やってます
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
モダンな開発 
Modern(モダン)とは
モダンな開発 
現代的であること。 
今風であること。
モダンな開発 
つまり今の流行最先端の開発環境
モダンな開発 
三 大 要 素 
IDE 
※私の主観です
モダンな開発 
三 大 要 素 
IDE 
実行環境 
※私の主観です
モダンな開発 
三 大 要 素 
IDE 
実行環境 
フレームワーク 
※私の主観です
モダンな開発 
三 大 要 素 
IDE→NetBeans 
実行環境→Vagrant 
フレームワーク→FuelPHP 
※私の主観です
モダンな開発 
今日はFuelPHPを中心にして話をします
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
FuelPHPとは 
FuelPHPとは?
FuelPHPとは 
FuelPHPとは? 
↓ 
PHP5.3以上を対象にしたWEBフレームワーク
FuelPHPとは 
FuelPHPとは? 
↓ 
PHP5.3以上を対象にしたWEBフレームワーク 
↓ 
良いとこ取りしたRails+CodeIgnitorっぽい
FuelPHPとは 
特徴 
・規約より設定
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー 
・パッケージ管理
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー 
・パッケージ管理 
他にも先進的な機能が多数
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー 
・パッケージ管理 
他にも先進的な機能が多数
FuelPHPとは 
規約より設定 
規約のメリット 
規約の重視は、コード量を減らし開発効率をあげる
FuelPHPとは 
規約より設定 
規約のデメリット 
規約を知らないとコードが理解できない 
規約を外れるとコードが複雑になる
FuelPHPとは 
規約より設定 
規約のデメリット 
規約を知らないとコードが理解できない 
規約を外れるとコードが複雑になる
FuelPHPとは 
規約より設定 
FuelPHP はシンプルであることを重視
FuelPHPとは 
規約より設定 
FuelPHP はシンプルであることを重視 
↓ 
規約による制約を課さない
FuelPHPとは 
規約より設定 
コードの書き方は自由
FuelPHPとは 
規約より設定 
コードの書き方は自由 
↓ 
学習コストの低さにつながる
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー 
・パッケージ管理 
他にも先進的な機能が多数
FuelPHPとは 
オートローダー 
・クラスを自動的に読み込む(自作したクラスも)
FuelPHPとは 
オートローダー 
・クラスを自動的に読み込む(自作したクラスも) 
・使われる時に必要なクラスだけ読み込む
FuelPHPとは 
オートローダー 
・クラスを自動的に読み込む(自作したクラスも) 
・使われる時に必要なクラスだけ読み込む 
・ただし 
・ファイル名とフォルダ名はすべて小文字 
・クラス名の中のアンダースコア(_)はフォルダ区切り
FuelPHPとは 
オートローダー 
・クラスを自動的に読み込む(自作したクラスも) 
・使われる時に必要なクラスだけ読み込む 
・ただし 
・ファイル名とフォルダ名はすべて小文字 
・クラス名の中のアンダースコア(_)はフォルダ区切り
FuelPHPとは 
オートローダー 
クラスを作る度に呼び出しに悩むことが無くなる
FuelPHPとは 
オートローダー 
クラスを作る度に呼び出しに悩むことが無くなる 
↓ 
迅速な開発と柔軟な変更が可能
FuelPHPとは 
オートローダー 
フォルダ構成 
├── controller 
│ └── welcome.php 
└── model 
└── muser.php
FuelPHPとは 
オートローダー 
welcome.phpからmodel/muser.phpのクラス名「Model_Muser」を呼ぶ 
// インスタンス化 
$m_user = new Model_Muser; 
$user = $m_user->get_m_user(); 
// staticなメソッドの呼び出し 
$user = Model_Muser::get_m_user();
FuelPHPとは 
オートローダー 
もし/test/model/muser.phpを呼びたかったら 
↓ 
Class フォルダ名_フォルダ名_実クラス名 
↓ 
$test = new Test_Model_Muser
FuelPHPとは 
オートローダー 
・クラスを自動的に読み込む(自作したクラスも) 
・使われる時に必要なクラスだけ読み込む 
・ただし 
・ファイル名とフォルダ名はすべて小文字 
・クラス名の中のアンダースコア(_)はフォルダ区切り
FuelPHPとは 
特徴 
・規約より設定 
・オートローダー 
・パッケージ管理 
他にも先進的な機能が多数
FuelPHPとは 
パッケージ管理 
パッケージとは
FuelPHPとは 
パッケージ管理 
パッケージとは 
↓ 
Core クラスに含まれないライブラリ
FuelPHPとは 
パッケージ管理 
パッケージ名 
説明 
Oil 
コマンドラインユーティリティ 
Auth 
認証フレームワーク 
Email 
Email の送信 
ORM 
ORM を提供 
Parser 
テンプレートパーサ
FuelPHPとは 
パッケージ管理 
他にもユーザの作成したパッケージを用出来る
FuelPHPとは 
パッケージ管理 
他にもユーザの作成したパッケージを用出来る 
↓ 
Core に手を入れることなく fuel の拡張出来る
FuelPHPとは 
Composer 
Composerを使ったライブラリ管理も出来る
FuelPHPとは 
Composer 
Composerを使ったライブラリ管理も出来る 
↓ 
従来のサードパーティも問題無く使える
FuelPHPとは 
FuelPHPのインストール 
・規約より設定 
・オートローダー 
・パッケージ管理 
他にも先進的な機能が多数
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
本日のおすすめ機能 
REST Controller
本日のおすすめ機能 
REST Controller 
RESTfulなAPIがすぐ作れる
本日のおすすめ機能 
REST Controller 
今から5分で作るREST API(demo)
本日のおすすめ機能 
タスク
本日のおすすめ機能 
タスク 
バッチや定期的に実行する処理を実装する場所
本日のおすすめ機能 
タスク 
バッチや定期的に実行する処理を実装する場所 
↓ 
コマンドラインから呼べる
本日のおすすめ機能 
タスク 
・Modelの再利用
本日のおすすめ機能 
タスク 
・Modelの再利用 
・ライブラリの共有
本日のおすすめ機能 
タスク 
・Modelの再利用 
・ライブラリの共有 
・ビジネスロジックの共通化
本日のおすすめ機能 
タスク 
今から3分で作るタスク (demo)
本日のおすすめ機能 
タスク 
標準でコードの自動生成などのコマンドも用意済み
本日のおすすめ機能 
プロファイラ
本日のおすすめ機能 
プロファイラ 
プロファイラとしてPHP Quick Profiler が統合
本日のおすすめ機能 
プロファイラ 
プロファイラは、次の情報をブラウザの画面に表示します 
• FuelPHP のログ 
• 実行時間 
• 実行したSQL 文 
• メモリ使用量 
• ロードされたファイル 
• ロードされた設定項目 
• セッションデータ 
• GET データ 
• POST データ
本日のおすすめ機能 
プロファイラ 
プロファイラはデフォルトでは無効
本日のおすすめ機能 
プロファイラ 
プロファイラはデフォルトでは無効 
↓ 
fuel/app/config/config.php 
のprofiling をtrue に変更
本日のおすすめ機能 
プロファイラ 
今から1分でわかるプロファイラ (demo)
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります 
・テンプレートエンジン
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります 
・テンプレートエンジン 
→標準でヘルパーもあり、Twigとかも使えます
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります 
・テンプレートエンジン 
→標準でヘルパーもあり、Twigとかも使えます 
・マイグレーション
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります 
・テンプレートエンジン 
→標準でヘルパーもあり、Twigとかも使えます 
・マイグレーション 
→標準はMySQLのみ
本日のおすすめ機能 
よくあるフレームワークの機能 
・バリデーション 
→勿論あります 
・テンプレートエンジン 
→標準でヘルパーもあり、Twigとかも使えます 
・マイグレーション 
→標準はMySQLのみ 
→ですがDoctrine2をパッケージ追加も可能
あじぇんだ 
1 自己紹介 
2 モダンな開発 
3 FuelPHPとは 
4 本日のおすすめ機能 
5 まとめ
まとめ 
環境構築について 
WEB系の開発をするために必要な10の開発環境 
~Windows~
まとめ 
環境構築について 
WEB系の開発をするために必要な10の開発環境 
~Windows~
まとめ 
FuelPHPで困ったときは 
日本語メーリングリスト 
日本語ドキュメント 
まとめWiki
まとめ
楽しいPHPライフを!! 
まとめ
ご静聴ありがとうございました。

Osc2014