Enviar pesquisa
Carregar
10分でわかるFuelPHP @ OSC2013 Nagoya
•
9 gostaram
•
12,175 visualizações
kenjis
Seguir
OSC2013 Nagoya での FuelPHP BoF での FuelPHP の紹介資料
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 54
Recomendados
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
Naoto Mawatari
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード
kenjis
今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」
Soudai Sone
Fuelphp1.8を始めたい
Fuelphp1.8を始めたい
運営 sollastudio
Osc2014
Osc2014
Soudai Sone
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHP
Junichi Yamamoto
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
Recomendados
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
Naoto Mawatari
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード
kenjis
今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」
Soudai Sone
Fuelphp1.8を始めたい
Fuelphp1.8を始めたい
運営 sollastudio
Osc2014
Osc2014
Soudai Sone
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHP
Junichi Yamamoto
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
kenjis
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
Mika Kane
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
健治郎 安井
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
Hiroyuki Ishiyama
はじめての FuelPHP
はじめての FuelPHP
Sho A
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
Sho A
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
Katsuhiro Miura
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
ichikaway
第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
App Engine と いまどきのPHP
App Engine と いまどきのPHP
sokamo1975
Cakephp tokyo5
Cakephp tokyo5
ichikaway
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
Rui Hirokawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
極める routes.php
極める routes.php
Masahiro Akita
Essence of Retail e-Commerce and its Optimization Webinar
Essence of Retail e-Commerce and its Optimization Webinar
Embitel Technologies (I) PVT LTD
Mais conteúdo relacionado
Mais procurados
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
kenjis
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
Mika Kane
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
健治郎 安井
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
Hiroyuki Ishiyama
はじめての FuelPHP
はじめての FuelPHP
Sho A
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
Sho A
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
Katsuhiro Miura
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
ichikaway
第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
App Engine と いまどきのPHP
App Engine と いまどきのPHP
sokamo1975
Cakephp tokyo5
Cakephp tokyo5
ichikaway
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
Rui Hirokawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
Mais procurados
(20)
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
はじめての FuelPHP
はじめての FuelPHP
FuelPHP活用事例
FuelPHP活用事例
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
FuelPHPをさわってみて
FuelPHPをさわってみて
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
第21回Creators MeetUp
第21回Creators MeetUp
App Engine と いまどきのPHP
App Engine と いまどきのPHP
Cakephp tokyo5
Cakephp tokyo5
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Destaque
極める routes.php
極める routes.php
Masahiro Akita
Essence of Retail e-Commerce and its Optimization Webinar
Essence of Retail e-Commerce and its Optimization Webinar
Embitel Technologies (I) PVT LTD
HMI/UI Development Services - Bangalore, India
HMI/UI Development Services - Bangalore, India
Embitel Technologies (I) PVT LTD
First time telescope buying
First time telescope buying
Naveen Nanjundappa
JUMBO Loans
JUMBO Loans
SUSAN HARVEY
Social Media Calendar 2011
Social Media Calendar 2011
Camelia Bulea
Keynote Talk - Is agile struggling in India
Keynote Talk - Is agile struggling in India
Naveen Nanjundappa
Linkedin presentation-red-1225231144081339-8
Linkedin presentation-red-1225231144081339-8
nizetanaiz
บุหรี่
บุหรี่
Jeenie Panmongkol
Online Retailing Using Facebook Webinar
Online Retailing Using Facebook Webinar
Embitel Technologies (I) PVT LTD
Microsoft Project workshop in Pune 6th & 7th August
Microsoft Project workshop in Pune 6th & 7th August
vrushalis
Vesten forstår ikke rusland
Vesten forstår ikke rusland
Morten Munk
de Flank & de Spits Haarlem
de Flank & de Spits Haarlem
kcrabbendam
How To attract People To Your Brand’s Story
How To attract People To Your Brand’s Story
Run Fun Starz
Nida presentation
Nida presentation
Dinesh Raheja
Cross-Lingual Web API Classification
Cross-Lingual Web API Classification
mmaleshkova
Destaque
(16)
極める routes.php
極める routes.php
Essence of Retail e-Commerce and its Optimization Webinar
Essence of Retail e-Commerce and its Optimization Webinar
HMI/UI Development Services - Bangalore, India
HMI/UI Development Services - Bangalore, India
First time telescope buying
First time telescope buying
JUMBO Loans
JUMBO Loans
Social Media Calendar 2011
Social Media Calendar 2011
Keynote Talk - Is agile struggling in India
Keynote Talk - Is agile struggling in India
Linkedin presentation-red-1225231144081339-8
Linkedin presentation-red-1225231144081339-8
บุหรี่
บุหรี่
Online Retailing Using Facebook Webinar
Online Retailing Using Facebook Webinar
Microsoft Project workshop in Pune 6th & 7th August
Microsoft Project workshop in Pune 6th & 7th August
Vesten forstår ikke rusland
Vesten forstår ikke rusland
de Flank & de Spits Haarlem
de Flank & de Spits Haarlem
How To attract People To Your Brand’s Story
How To attract People To Your Brand’s Story
Nida presentation
Nida presentation
Cross-Lingual Web API Classification
Cross-Lingual Web API Classification
Semelhante a 10分でわかるFuelPHP @ OSC2013 Nagoya
20130630fuelphptokyo4
20130630fuelphptokyo4
Fumito Mizuno
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
Hitoshi Asano
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
yoshikawa_t
Polyphony 新機能ツアー
Polyphony 新機能ツアー
ryos36
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_terada
Manabu Terada
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
77web
Composerはじめました
Composerはじめました
Takashi Nojima
LibreOfficeの最新動向 in KOF2015
LibreOfficeの最新動向 in KOF2015
Shinji Enoki
CakePHP3ウォークスルー
CakePHP3ウォークスルー
Tomoki Hasegawa
PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
2019 0704 about ConoHa VM migration from C1 to C2
2019 0704 about ConoHa VM migration from C1 to C2
Naoto Gohko
初めてのHtml5 20120612
初めてのHtml5 20120612
yohei iwakura
PyCon JP 2014 plone terada
PyCon JP 2014 plone terada
Manabu Terada
Alfresco study29 activitymonitoring
Alfresco study29 activitymonitoring
Takeshi Totani
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
先取り Go1.5
先取り Go1.5
Preferred Networks
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Yuji Otani
HTML5の話
HTML5の話
Hiroyuki Nozaki
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
mmer547
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
Semelhante a 10分でわかるFuelPHP @ OSC2013 Nagoya
(20)
20130630fuelphptokyo4
20130630fuelphptokyo4
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
FuelPHP BoF ライブコーディング編 @ OSC2013 Nagoya
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
Polyphony 新機能ツアー
Polyphony 新機能ツアー
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_terada
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
Composerはじめました
Composerはじめました
LibreOfficeの最新動向 in KOF2015
LibreOfficeの最新動向 in KOF2015
CakePHP3ウォークスルー
CakePHP3ウォークスルー
PHPの今とこれから2015
PHPの今とこれから2015
2019 0704 about ConoHa VM migration from C1 to C2
2019 0704 about ConoHa VM migration from C1 to C2
初めてのHtml5 20120612
初めてのHtml5 20120612
PyCon JP 2014 plone terada
PyCon JP 2014 plone terada
Alfresco study29 activitymonitoring
Alfresco study29 activitymonitoring
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
先取り Go1.5
先取り Go1.5
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
HTML5の話
HTML5の話
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
Mais de kenjis
AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワーク
kenjis
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
kenjis
はじめてのMercurial/Bitbucket その2
はじめてのMercurial/Bitbucket その2
kenjis
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう
kenjis
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
kenjis
CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!
kenjis
はじめてのMercurial/Bitbucket
はじめてのMercurial/Bitbucket
kenjis
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
kenjis
『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのこと
kenjis
CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?
kenjis
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
kenjis
Mais de kenjis
(12)
AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワーク
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
はじめてのMercurial/Bitbucket その2
はじめてのMercurial/Bitbucket その2
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!
はじめてのMercurial/Bitbucket
はじめてのMercurial/Bitbucket
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのこと
CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
Último
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Último
(9)
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
10分でわかるFuelPHP @ OSC2013 Nagoya
1.
10分でわかるFuelPHP A simple, flexible,
community driven PHP 5.3 framework. 2013/06/22 @ OSC2013 Nagoya kenjis
2.
FuelPHPとは? コミュニティで開発されている オープンソースのPHPフレームワーク 2011/7/30、初の公式リリース1.0.0
公式サイト http://fuelphp.com/
3.
FuelPHPとは? MITライセンス PHP
5.3以降 いろいろなフレームワークのいいとこ取り ➔CodeIgniter ➔Kohana ➔Symfony ➔Rails
4.
FuelPHPとは? 2010/末 開発開始
2011/01/08 1.0.0-BETA1リリース 2011/07/30 1.0リリース 2011/12/13 1.1リリース 2012/06/03 1.2リリース 2012/09/09 1.3リリース 2012/11/09 1.4リリース 2013/01/20 1.5リリース 2013/05/03 1.6リリース 2013/06/09 1.6.1リリース (←今ここ)
5.
FuelPHPとは? 日本での4大PHPフレームワークの1つ http://c4sa.nifty.com/
6.
FuelPHPとは? 日本での4大PHPフレームワークの1つ http://www.paperboy.co.jp/news/201306121300
7.
FuelPHPとは? はてなブックマーク数(3ユーザ以上) ➔CakePHP 4,926 ➔Symfony 1,961 ➔Zend Framework 829 ➔FuelPHP
632 ➔CodeIgniter 495 (2013/6/21調べ)
8.
FuelPHPの利用例 http://sp.demae-can.com/
9.
FuelPHPの利用例 http://animita.tv/
10.
FuelPHPの利用例 http://bushidotickets.com/
11.
フレームワークとは? Webアプリケーションフレームワークとは? ➔Webアプリケーションを作成する「枠組み」 ➔機能としては • 過去のプログラミングの経験則の規約化 •
頻繁に使う機能を抽象化(モジュール化、 ライブラリ化) ➔Webアプリケーション全体を見通しよく 開発できるようにするもの
12.
FuelPHPに向いている人 CodeIgniterを知っている人 ➔開発者がCodeIgniter系の人なので、かなり 似ている Kohanaを知っている人 ➔Kohanaも参考に作られていますので、さらに 似ている(Kohana+α=FuelPHP)
Configuration over Convention ➔規約が嫌いな人 ➔CodeIgniter系のフレームワークなので、 強制的な規約は最小限になっている
13.
FuelPHPに向いている人 軽量高速なフレームワークが好きな人 フレームワークをいろいろ拡張したい人 ➔CodeIgniterのように拡張できます
見やすいドキュメントが好きな人 ➔CodeIgniterのユーザガイドのように 見やすいです(ただし、翻訳率は現在 64%程度) コマンドラインが好きな人(嫌いでも可)
14.
FuelPHPに向いている人 他のフレームワークに挫折した人 ➔ドキュメントがわかりにくい ➔規約が多すぎて覚えきれない ➔デカすぎてソースが読めない ➔難しすぎる
15.
FuelPHPを使うメリット 高速な動作 ➔軽量で動作が高速 最新のPHPフレームワーク ➔PHP
5.3以降なので、5.3の機能をフルに 使える コードや仕様がクリーン ➔PHP 5.3でゼロから書かれたフレームワー クなので、完全にOOPであり、クリーンな コード ➔PHP4を引きずっていたりしない
16.
FuelPHPを使うメリット バランス ➔CodeIgniterよりは広い範囲をカバー している(多機能) ➔ビューのレイアウト機能、モデルの CRUD機能、HMVC、認証インターフェ イス、ORM、PHPUnitでのテストなど コマンドラインによるパワフルな機能 ➔ScaffoldingやMigration
17.
MVCモデルとは? Controller(コントローラ)は、 入力データに従って適切なデータを呼び出し ModelやViewの連携など、アプリケーショ ン全体の制御を行う Model(モデル)は、 データベースへのアクセスやデータの修正/ 加工などのデータの管理を行う
View(ビュー)は、 処理結果の表示など、画面表示を担当する
18.
MVCモデル Controller 流れの制御など View 画面表示 Model データの管理 ・リクエスト ・データ入力 結果 結果 結果 呼び出し 呼び出し
19.
FuelPHPのフォルダ構成 公式ドキュメント アプリケーションを配置 FuelPHP本体 FuelPHPのパッケージ oilコマンド Web公開領域 フロントコントローラ css、img、js Composerのパッケージ
20.
FuelPHPのフォルダ構成 アプリケーションを配置 コントローラを配置 モデルを配置 ビューモデルを配置 ビューを配置 クラスを配置 キャッシュフォルダ ブートストラップ 設定ファイルを配置 言語ファイルを配置 ログフォルダ DBマイグレーションファイルを配置 モジュール(HMVC)を配置 タスク(CLIから起動するクラス)を配置 tmpフォルダ テスト(PHPUnit)を配置
21.
FuelPHPのURLの構造 URLの構造 http://example.jp/コントローラ/メソッド/引数 class Controller_Shop extends Controller { ... function action_search($id) { ... } } http://example.jp/shop/search/123
22.
Controller Controllerクラスを継承 クラス名には先頭に「Controller_」を付ける
「Controller_」の後の単語の先頭は大文字 アクションメソッド名には先頭に「action_」を 付ける ファイル名やフォルダ名はすべて小文字 (FuelPHPでの共通の規約) クラス名の中の「_」はフォルダ区切りになる
23.
Controller class Controller_Time extends Controller { public function action_index() { // タイトル $data['title'] = '時刻メッセージ'; // 現在の時刻 $data['now_time'] = date("H時i分s秒"); // テンプレートに変数を代入 return View::forge( 'time_view', $data ); } } fuel/app/classes/controller/time.php action_index()メソッドはデフォルトメソッド ➔http://example.jp/time/
24.
Controller クラス名とファイル名の対応 class Controller_Time_Message ➔controller/time/message.php ➔http://example.jp/time/message
class Controller_Time ➔controller/time.php ➔function action_message() ➔http://example.jp/time/message
25.
Controller URLとクラス名の対応 http://example.jp/time_message ? ➔class
Controller_Time_Message ? ➔controller/time_message.php ? ➔クラス名の「_」はフォルダ区切りにな るのでこれは使えない ➔404 Not Found 規約に外れるものはルーティング設定が 必要
26.
Controller URLとクラス名の対応 http://example.jp/time/time_message ➔class Controller_Time ➔controller/time.php ➔function
action_time_message() ➔メソッド名の「_」はOK
27.
Controller 拡張したクラス Template Controller ➔ビューのレイアウト機能を追加したもの ➔Controller_Templateクラスを継承する
Rest Controller ➔RESTfulなコントローラ ➔Web APIがすぐに作成できる ➔Controller_Restクラスを継承する Hybrid Controller ➔Rest Controller + Template ➔Controller_Hybridクラスを継承する
28.
View <html> <head> <title><?php echo $title; ?></title> </head> <body> <?php echo $now_time; ?> </body> </html> fuel/app/view/time_view.php 標準のビューファイルは、単なるPHPファイル $data['title'] = '時刻メッセージ'; $data['now_time'] = date("H時i分s秒"); return View::forge('time_view', $data); Controllerのコード
29.
View (オプション)Parserモジュール 以下のテンプレートを標準でサポート ➔Smarty
/ Twig / Dwoo / PHPTAL / Mustache / Jade / Haml / Markdown packages/parser/README.md参照
30.
Model オプション(使わないことも可能) ただのPHPのクラス
データベース・アクセスの方法 ➔DB::query() ➔Query Builder ➔Model_Crud ➔ORMパッケージ
31.
DB::query() // SQLクエリの実行 $result = DB::query('SELECT * FROM `posts`')>execute(); // 表示処理 foreach ($result>as_array() as $row) { echo $row['id'] . ' '; echo $row['title'] . ' '; echo $row['summary'] . '<br />'; } echo 'レコード数: ' . count($result);
32.
Query Builder // SQLクエリの実行 $result = DB::select('*')>from('posts')>execute(); // 表示処理 foreach ($result>as_array() as $row) { echo $row['id'] . ' '; echo $row['title'] . ' '; echo $row['summary'] . '<br />'; } echo 'レコード数: ' . count($result);
33.
Model class Model_Post extends Model { function find_all() { ... } } Modelクラスを継承 fuel/app/classes/model/post.php
34.
Modelの使い方 メソッドを呼び出す $data['posts'] = Model_Post::find_all(); class Model_Post extends Model { function find_all() { ... } } Modelのコード
35.
Model 拡張したクラス Model_Crudクラス ➔CRUD用メソッドを追加したもの ➔Model_Crudクラスを継承する
36.
ORMの使い方 1. config.phpでの設定 2. Modelの作成 3.
クエリの実行
37.
ORMの使い方 1. config.phpでの設定 'always_load' => array( 'packages' => array( 'orm', //'auth', ), ), fuel/app/config/config.php
38.
ORMの使い方 2. Modelの作成 <?php class Model_Post extends OrmModel { protected static $_properties = array( 'id', 'title', 'summary', 'body', 'created_at', 'updated_at', ); protected static $_observers = array( 'OrmObserver_CreatedAt' => array('events'=>array('before_insert')), 'OrmObserver_UpdatedAt' => array('events'=>array('before_save')), ); } fuel/app/classes/model/post.php ※ $_propertiesでカラム名を定義する
39.
ORMの使い方 3. クエリの実行 // SQLクエリの実行 $result = Model_Post::find('all'); // 表示処理 foreach ($result as $row) { echo $row['id'] . ' '; echo $row['title'] . ' '; echo $row['summary'] . '<br />'; } echo 'レコード数: ' . count($result);
40.
ORM Model 拡張したクラス OrmModel_Soft ➔論理削除
OrmModel_Temporal ➔データのバージョン管理 OrmModel_Nestedset ➔階層構造のデータ その他 ➔ORM ModelでEAV(Entity- Attribute-Value)モデルを扱う機能
41.
Coreクラス どんなものがあるか? Agent Arr Asset Autoloader Cache Cli Config Cookie Crypt Database Date Debug Event Fieldset File Finder Form Format Ftp Fuel Html Image Inflector Input Lang Log Markdown Migrate Model_Crud Module Mongo_Db Num Package Pagination Profiler Redis Request Response Router Security Session Str Theme Upload Uri Validation View
42.
クラスの使い方 静的な呼び出し <form action="http://localhost/blog/uri/to/form" acceptcharset="utf8" method="post"> echo Form::open('uri/to/form'); 出力されるHTML
43.
クラスの使い方 インスタンス化 $val = Validation::forge(); $val>add('title', 'Title') >add_rule('required'); if ($val>run()) { ... } else { ... }
44.
FuelPHPのセキュリティ フールプルーフではない! ➔フールプルーフとは? 「よくわかっていない人が扱っても安全」 -- http://e-words.jp/ ➔○○を使っていれば安全
ただし、FuelPHPには、 ➔デフォルトのセキュリティ機能 ➔手動で利用するセキュリティ機能 • フレームワークを使わない場合より、 かなり安全
45.
FuelPHPのセキュリティ デフォルトのセキュリティ機能 ➔Output encoding •
viewへの変数はHTMLエスケープ • config.phpのsecurity.output_filter • デフォルトはSecurity::htmlentities ➔URL encoding • URLもHTMLエスケープ • config.phpのsecurity.uri_filter • デフォルトはSecurity::htmlentities ➔SQL injection対策 • Query BuilderやORMでは自動エスケープ
46.
FuelPHPのセキュリティ セキュリティ機能 ➔Input filtering •
config.phpのsecurity.input_filter ➔CSRF保護 • 自動ではないが支援機能あり ➔XSS filtering • HTMLawedというライブラリが付属
47.
FuelPHPの高い拡張性 Coreクラス ➔継承・置き換え可能 • コアクラスを置き換えずに拡張する •
コアクラスを拡張し、置き換える • パッケージからコアを拡張する
48.
公式ドキュメントの翻訳 https://github.com/NEKOGET/FuelPHP_docs_jp http://fuelphp.jp/
翻訳を手伝ってくれる人を募集中
49.
FuelPHPについての日本語情報 FuelPHP まとめ
Wiki http://wiki.fuelphp1st.com/wiki/
50.
FuelPHPについての 日本語コミュニティ fuelphp.jp Googleグループ https://groups.google.com/group/fuelphp_jp?hl=ja
twitter 「fuelphp」で検索 https://twitter.com/search/realtime?q=fuelphp&src=typd facebook FuelPHP日本語ニュース https://www.facebook.com/jp.fuel
51.
FuelPHPについての書籍 『FuelPHP Advent
Calendar 2011』技術評論社 『FuelPHP入門』ソーテック社 『はじめてのフレームワークとしてのFuelPHP』 達人出版会 『FuelPHP Advent Calendar 2012』達人出版会
52.
FuelPHPについての書籍 無料 無料
53.
まとめ FuelPHPは、シンプルでフレキシブルな コミュニティにより開発されているPHP 5.3のフレームワークです。 日本のユーザも増え、採用事例も増えて きました。
公式ドキュメントの翻訳を手伝ってくれ る人を募集しています。
54.
このファイルのライセンス This work
is licensed under the Creative Commons 表示 - 継承 3.0 非 移植 License. To view a copy of this license, visit http://creativecommons.org/licen ses/by-sa/3.0/.