SlideShare una empresa de Scribd logo
1 de 50
今、最も勢いのある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ってなに?


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




Githubからダウンロードしてインストールするだ
け!!
あじぇんだ


1 自己紹介


2 FuelPHPってなに?


3 FuelPHPのすごい機能


4 まとめ
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を呼びたかったら
FuelPHPってなに?



もし/test/model/muser.phpを呼びたかったら
               ↓
 Class フォルダ名_フォルダ名_実クラス名
FuelPHPってなに?



もし/test/model/muser.phpを呼びたかったら
                 ↓
 Class フォルダ名_フォルダ名_実クラス名
                 ↓
    $test = new Test_Model_Muser
FuelPHPのすごい機能


       オートローダー
・クラスを自動的に読み込む
・使われる時に必要なクラスだけ読み込む
・ただし…
 ・ファイル名とフォルダ名はすべて小文字
・クラスは最初の文字のみ大文字でその他は小文字
・クラス名の中のアンダースコア(_)はフォルダ区切り
FuelPHPのすごい機能




   ViewModel
FuelPHPのすごい機能


        ViewModel

・Viewに関するビジネスロジックなどを書く場所
・Controllerの肥大を防止して薄く出来る
・Modelはデータのやり取りなどシンプルになる
・Viewは表示だけに専念出来る
FuelPHPのすごい機能



                  MVCの関係

IN   Controller             View   OUT




                    Model
FuelPHPのすごい機能



                  MVCの関係

IN   Controller             View   OUT


                   ロジック


                    Model
FuelPHPのすごい機能


Modelでやるべきこと

・入力のバリデーション
・データの加工
・データベース等とのデータのやり取り


              …などなど
FuelPHPのすごい機能


       Modelの悩み

・データの取り出しはシンプルにしたい
・クラスもシンプルにしたい
・それぞれの依存もシンプルにしたい
・特定の場面でしか使わないクラスファイルが生まれる
FuelPHPのすごい機能
FuelPHPのすごい機能



                  ViewModel



IN   Controller               View   OUT




                   Model
FuelPHPのすごい機能


        ViewModel

・Viewに依存するデータの取り出しや加工
・データの追加・編集はmodelに集約できる
(ViewModelでデータの操作を一切すべきではない)
・Viewに依存したロジックをModelから分離できる
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で楽しくなろう!

Más contenido relacionado

La actualidad más candente

はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
Sho A
 
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
健治郎 安井
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
ichikaway
 

La actualidad más candente (20)

10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみたFuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012
 
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
 

Similar a 今、最も勢いのあるWebフレームワーク「fuel php」

Fuel php勉強会 1
Fuel php勉強会 1Fuel php勉強会 1
Fuel php勉強会 1
Kazuya Igari
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
 
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2editionRails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
 

Similar a 今、最も勢いのあるWebフレームワーク「fuel php」 (20)

FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
Fuel php勉強会 1
Fuel php勉強会 1Fuel php勉強会 1
Fuel php勉強会 1
 
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
 
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
Talking with drupal - psyshでの対話型デバッグ
Talking with drupal - psyshでの対話型デバッグTalking with drupal - psyshでの対話型デバッグ
Talking with drupal - psyshでの対話型デバッグ
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon php
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHP
 
Chef
ChefChef
Chef
 
Cakephp
CakephpCakephp
Cakephp
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2editionRails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
FuelPHP BoF ライブコーディング編 @ OSC2013 NagoyaFuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
 
Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説rails 管理画面作成gem Typus解説
rails 管理画面作成gem Typus解説
 

Más de Soudai Sone

Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)
Soudai Sone
 
聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告
Soudai Sone
 

Más de Soudai Sone (20)

DBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるDBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎる
 
レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpython
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話
 
知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能
 
DDDハンズオン
DDDハンズオンDDDハンズオン
DDDハンズオン
 
実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL
 
Postgre sqlから見るnosql
Postgre sqlから見るnosqlPostgre sqlから見るnosql
Postgre sqlから見るnosql
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方
 
中国地方Db勉強会
中国地方Db勉強会中国地方Db勉強会
中国地方Db勉強会
 
Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化
 
Web エンジニアが postgre sql を選ぶ 3 つの理由
Web エンジニアが postgre sql を選ぶ 3 つの理由Web エンジニアが postgre sql を選ぶ 3 つの理由
Web エンジニアが postgre sql を選ぶ 3 つの理由
 
Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔
 
すぐ始めれるクラウド
すぐ始めれるクラウドすぐ始めれるクラウド
すぐ始めれるクラウド
 
PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化について
 
Osh2014
Osh2014Osh2014
Osh2014
 
Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)
 
聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告
 

Último

Último (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

今、最も勢いのあるWebフレームワーク「fuel php」