88
FuelPHPで始めるモダンPHP開発!! OSC2014@広島

Osc2014

Embed Size (px)

DESCRIPTION

OSC2014@広島の登壇資料です。 https://www.ospn.jp/osc2014-hiroshima/modules/eguide/event.php?eid=9

Citation preview

Page 1: Osc2014

FuelPHPで始めるモダンPHP開発!!

OSC2014@広島

Page 2: Osc2014

What is it?

みなさんPHP好きですか?

Page 3: Osc2014

What is it?

Page 4: Osc2014

What is it?

本当にPHPはオワコンなのか?

Page 5: Osc2014

What is it?

PHPでも楽しい開発はできます!!

Page 6: Osc2014

What is it?

今日はそんなPHPの開発事情の話をします

Page 7: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 8: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 9: Osc2014

自己紹介

名前:曽根 壮大(そね たけとも)

年齢:29歳(三人の子供がいます)

職場:Webエンジニア

所属:日本PostgreSQLユーザ会

技術的にはWeb系でLLとかRDB大好きです

Page 10: Osc2014

自己紹介

名前:曽根 壮大(そね たけとも)

年齢:29歳(三人の子供がいます)

職場:Webエンジニア

所属:日本PostgreSQLユーザ会

中国支部長やってます

Page 11: Osc2014

自己紹介

名前:曽根 壮大(そね たけとも)

年齢:29歳(三人の子供がいます)

職場:Webエンジニア

所属:日本PostgreSQLユーザ会

中国支部長やってます

Page 12: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 13: Osc2014

モダンな開発

Modern(モダン)とは

Page 14: Osc2014

モダンな開発

現代的であること。

今風であること。

Page 15: Osc2014

モダンな開発

つまり今の流行最先端の開発環境

Page 16: Osc2014

モダンな開発

三 大 要 素

IDE

※私の主観です

Page 17: Osc2014

モダンな開発

三 大 要 素

IDE

実行環境

※私の主観です

Page 18: Osc2014

モダンな開発

三 大 要 素

IDE

実行環境

フレームワーク

※私の主観です

Page 19: Osc2014

モダンな開発

三 大 要 素

IDE→NetBeans

実行環境→Vagrant

フレームワーク→FuelPHP

※私の主観です

Page 20: Osc2014

モダンな開発

今日はFuelPHPを中心にして話をします

Page 21: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 22: Osc2014

FuelPHPとは

FuelPHPとは?

Page 23: Osc2014

FuelPHPとは

FuelPHPとは?

PHP5.3以上を対象にしたWEBフレームワーク

Page 24: Osc2014

FuelPHPとは

FuelPHPとは?

PHP5.3以上を対象にしたWEBフレームワーク

良いとこ取りしたRails+CodeIgnitorっぽい

Page 25: Osc2014

FuelPHPとは

特徴

・規約より設定

Page 26: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

Page 27: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

・パッケージ管理

Page 28: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

・パッケージ管理

他にも先進的な機能が多数

Page 29: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

・パッケージ管理

他にも先進的な機能が多数

Page 30: Osc2014

FuelPHPとは

規約より設定

規約のメリット

規約の重視は、コード量を減らし開発効率をあげる

Page 31: Osc2014

FuelPHPとは

規約より設定

規約のデメリット

規約を知らないとコードが理解できない

規約を外れるとコードが複雑になる

Page 32: Osc2014

FuelPHPとは

規約より設定

規約のデメリット

規約を知らないとコードが理解できない

規約を外れるとコードが複雑になる

Page 33: Osc2014

FuelPHPとは

規約より設定

FuelPHP はシンプルであることを重視

Page 34: Osc2014

FuelPHPとは

規約より設定

FuelPHP はシンプルであることを重視

規約による制約を課さない

Page 35: Osc2014

FuelPHPとは

規約より設定

コードの書き方は自由

Page 36: Osc2014

FuelPHPとは

規約より設定

コードの書き方は自由

学習コストの低さにつながる

Page 37: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

・パッケージ管理

他にも先進的な機能が多数

Page 38: Osc2014

FuelPHPとは

オートローダー

・クラスを自動的に読み込む(自作したクラスも)

Page 39: Osc2014

FuelPHPとは

オートローダー

・クラスを自動的に読み込む(自作したクラスも)

・使われる時に必要なクラスだけ読み込む

Page 40: Osc2014

FuelPHPとは

オートローダー

・クラスを自動的に読み込む(自作したクラスも)

・使われる時に必要なクラスだけ読み込む

・ただし

・ファイル名とフォルダ名はすべて小文字

・クラス名の中のアンダースコア(_)はフォルダ区切り

Page 41: Osc2014

FuelPHPとは

オートローダー

・クラスを自動的に読み込む(自作したクラスも)

・使われる時に必要なクラスだけ読み込む

・ただし

・ファイル名とフォルダ名はすべて小文字

・クラス名の中のアンダースコア(_)はフォルダ区切り

Page 42: Osc2014

FuelPHPとは

オートローダー

クラスを作る度に呼び出しに悩むことが無くなる

Page 43: Osc2014

FuelPHPとは

オートローダー

クラスを作る度に呼び出しに悩むことが無くなる

迅速な開発と柔軟な変更が可能

Page 44: Osc2014

FuelPHPとは

オートローダー

フォルダ構成

├── controller

│ └── welcome.php

└── model

└── muser.php

Page 45: Osc2014

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();

Page 46: Osc2014

FuelPHPとは

オートローダー

もし/test/model/muser.phpを呼びたかったら

Class フォルダ名_フォルダ名_実クラス名

$test = new Test_Model_Muser

Page 47: Osc2014

FuelPHPとは

オートローダー

・クラスを自動的に読み込む(自作したクラスも)

・使われる時に必要なクラスだけ読み込む

・ただし

・ファイル名とフォルダ名はすべて小文字

・クラス名の中のアンダースコア(_)はフォルダ区切り

Page 48: Osc2014

FuelPHPとは

特徴

・規約より設定

・オートローダー

・パッケージ管理

他にも先進的な機能が多数

Page 49: Osc2014

FuelPHPとは

パッケージ管理

パッケージとは

Page 50: Osc2014

FuelPHPとは

パッケージ管理

パッケージとは

Core クラスに含まれないライブラリ

Page 51: Osc2014

FuelPHPとは

パッケージ管理

パッケージ名 説明

Oil コマンドラインユーティリティ

Auth 認証フレームワーク

Email Email の送信

ORM ORM を提供

Parser テンプレートパーサ

Page 52: Osc2014

FuelPHPとは

パッケージ管理

他にもユーザの作成したパッケージを用出来る

Page 53: Osc2014

FuelPHPとは

パッケージ管理

他にもユーザの作成したパッケージを用出来る

Core に手を入れることなく fuel の拡張出来る

Page 54: Osc2014

FuelPHPとは

Composer

Composerを使ったライブラリ管理も出来る

Page 55: Osc2014

FuelPHPとは

Composer

Composerを使ったライブラリ管理も出来る

従来のサードパーティも問題無く使える

Page 56: Osc2014

FuelPHPとは

FuelPHPのインストール

・規約より設定

・オートローダー

・パッケージ管理

他にも先進的な機能が多数

Page 57: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 58: Osc2014

本日のおすすめ機能

REST Controller

Page 59: Osc2014

本日のおすすめ機能

REST Controller

RESTfulなAPIがすぐ作れる

Page 60: Osc2014

本日のおすすめ機能

REST Controller

今から5分で作るREST API(demo)

Page 61: Osc2014

本日のおすすめ機能

タスク

Page 62: Osc2014

本日のおすすめ機能

タスク

バッチや定期的に実行する処理を実装する場所

Page 63: Osc2014

本日のおすすめ機能

タスク

バッチや定期的に実行する処理を実装する場所

コマンドラインから呼べる

Page 64: Osc2014

本日のおすすめ機能

タスク

・Modelの再利用

Page 65: Osc2014

本日のおすすめ機能

タスク

・Modelの再利用

・ライブラリの共有

Page 66: Osc2014

本日のおすすめ機能

タスク

・Modelの再利用

・ライブラリの共有

・ビジネスロジックの共通化

Page 67: Osc2014

本日のおすすめ機能

タスク

今から3分で作るタスク (demo)

Page 68: Osc2014

本日のおすすめ機能

タスク

標準でコードの自動生成などのコマンドも用意済み

Page 69: Osc2014

本日のおすすめ機能

プロファイラ

Page 70: Osc2014

本日のおすすめ機能

プロファイラ

プロファイラとしてPHP Quick Profiler が統合

Page 71: Osc2014

本日のおすすめ機能

プロファイラ

プロファイラは、次の情報をブラウザの画面に表示します

• FuelPHP のログ

• 実行時間

• 実行したSQL 文

• メモリ使用量

• ロードされたファイル

• ロードされた設定項目

• セッションデータ

• GET データ

• POST データ

Page 72: Osc2014

本日のおすすめ機能

プロファイラ

プロファイラはデフォルトでは無効

Page 73: Osc2014

本日のおすすめ機能

プロファイラ

プロファイラはデフォルトでは無効

fuel/app/config/config.php

のprofiling をtrue に変更

Page 74: Osc2014

本日のおすすめ機能

プロファイラ

今から1分でわかるプロファイラ (demo)

Page 75: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

Page 76: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

Page 77: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

・テンプレートエンジン

Page 78: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

・テンプレートエンジン

→標準でヘルパーもあり、Twigとかも使えます

Page 79: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

・テンプレートエンジン

→標準でヘルパーもあり、Twigとかも使えます

・マイグレーション

Page 80: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

・テンプレートエンジン

→標準でヘルパーもあり、Twigとかも使えます

・マイグレーション

→標準はMySQLのみ

Page 81: Osc2014

本日のおすすめ機能

よくあるフレームワークの機能

・バリデーション

→勿論あります

・テンプレートエンジン

→標準でヘルパーもあり、Twigとかも使えます

・マイグレーション

→標準はMySQLのみ

→ですがDoctrine2をパッケージ追加も可能

Page 82: Osc2014

あじぇんだ

1 自己紹介

2 モダンな開発

3 FuelPHPとは

4 本日のおすすめ機能

5 まとめ

Page 85: Osc2014

まとめ

FuelPHPで困ったときは

日本語メーリングリスト

日本語ドキュメント

まとめWiki

Page 86: Osc2014

まとめ

Page 87: Osc2014

楽しいPHPライフを!!

まとめ

Page 88: Osc2014

ご静聴ありがとうございました。