Upload
soudai-sone
View
906
Download
1
Embed Size (px)
DESCRIPTION
OSC2014@広島の登壇資料です。 https://www.ospn.jp/osc2014-hiroshima/modules/eguide/event.php?eid=9
Citation preview
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ライフを!!
まとめ
ご静聴ありがとうございました。