Submit Search
Upload
10分でわかるFuelPHP @ 2011/12
•
8 likes
•
4,268 views
kenjis
Follow
PHP 5.3用フレームワーク「FuelPHP」の紹介プレゼン資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 47
Download now
Download to read offline
Recommended
Metasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
super_a1ice
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
AWS Black Belt Online Seminar AWS CloudFormation アップデート
AWS Black Belt Online Seminar AWS CloudFormation アップデート
Amazon Web Services Japan
IDガバナンス&管理の基礎
IDガバナンス&管理の基礎
Hitachi, Ltd. OSS Solution Center.
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
MPN Japan
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
Insight Technology, Inc.
Recommended
Metasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
super_a1ice
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
AWS Black Belt Online Seminar AWS CloudFormation アップデート
AWS Black Belt Online Seminar AWS CloudFormation アップデート
Amazon Web Services Japan
IDガバナンス&管理の基礎
IDガバナンス&管理の基礎
Hitachi, Ltd. OSS Solution Center.
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
JPC2017 [D4] Microsoft 365 が実現するデジタル時代のセキュリティ
MPN Japan
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
Insight Technology, Inc.
CISO Mind Map v10(日本語版)
CISO Mind Map v10(日本語版)
Tomohisa Ishikawa, CISSP, CSSLP, CISA, CISM, CFE
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
zaki4649
Verrazzanoご紹介
Verrazzanoご紹介
オラクルエンジニア通信
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
Hyper-V、オンプレミスでもコンテナを
Hyper-V、オンプレミスでもコンテナを
Tetsuya Yokoyama
Amazon S3のターゲットエンドポイントとしての利用
Amazon S3のターゲットエンドポイントとしての利用
QlikPresalesJapan
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
Hiroyuki Wada
とある診断員とAWS
とある診断員とAWS
zaki4649
Keycloakの最近のトピック
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
Ayumu Inaba
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
Katsuya Yamaguchi
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
NGINX, Inc.
GKE で始めるPrivate Cluster
GKE で始めるPrivate Cluster
Igarashi Toru
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
MaxScaleを触ってみた
MaxScaleを触ってみた
Fujishiro Takuya
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Yuki Nakai
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
ぺちぱな。 はじまり
ぺちぱな。 はじまり
Ryo Tajima
More Related Content
What's hot
CISO Mind Map v10(日本語版)
CISO Mind Map v10(日本語版)
Tomohisa Ishikawa, CISSP, CSSLP, CISA, CISM, CFE
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
zaki4649
Verrazzanoご紹介
Verrazzanoご紹介
オラクルエンジニア通信
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
Hyper-V、オンプレミスでもコンテナを
Hyper-V、オンプレミスでもコンテナを
Tetsuya Yokoyama
Amazon S3のターゲットエンドポイントとしての利用
Amazon S3のターゲットエンドポイントとしての利用
QlikPresalesJapan
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
Hiroyuki Wada
とある診断員とAWS
とある診断員とAWS
zaki4649
Keycloakの最近のトピック
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
Ayumu Inaba
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
Katsuya Yamaguchi
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
NGINX, Inc.
GKE で始めるPrivate Cluster
GKE で始めるPrivate Cluster
Igarashi Toru
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
MaxScaleを触ってみた
MaxScaleを触ってみた
Fujishiro Takuya
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Yuki Nakai
What's hot
(20)
CISO Mind Map v10(日本語版)
CISO Mind Map v10(日本語版)
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
Verrazzanoご紹介
Verrazzanoご紹介
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
Hyper-V、オンプレミスでもコンテナを
Hyper-V、オンプレミスでもコンテナを
Amazon S3のターゲットエンドポイントとしての利用
Amazon S3のターゲットエンドポイントとしての利用
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
コンテナを突き破れ!! ~コンテナセキュリティ入門基礎の基礎~(Kubernetes Novice Tokyo #11 発表資料)
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
とある診断員とAWS
とある診断員とAWS
Keycloakの最近のトピック
Keycloakの最近のトピック
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
プロトコルから見るID連携
プロトコルから見るID連携
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
GKE で始めるPrivate Cluster
GKE で始めるPrivate Cluster
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
MaxScaleを触ってみた
MaxScaleを触ってみた
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Kibana + Winlogbeatで実現:Windowsのログ分析入門
Viewers also liked
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
ぺちぱな。 はじまり
ぺちぱな。 はじまり
Ryo Tajima
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
web2citizen
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
Kenichi Mukai
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
Hiroyuki Ishiyama
Ospn fuel php
Ospn fuel php
Kenichi Mukai
FuelPHP + Pagoda Box
FuelPHP + Pagoda Box
Sotaro Omura
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
Sho A
CakePHP vs FuelPHP
CakePHP vs FuelPHP
Sotaro Omura
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
はじめての FuelPHP
はじめての FuelPHP
Sho A
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
Naoto Mawatari
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
kenjis
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Laravel5を使って開発してみた
Laravel5を使って開発してみた
Takeo Noda
บุหรี่
บุหรี่
Jeenie Panmongkol
ScrumMaster activities in building a winning self organized teams - Naveen Na...
ScrumMaster activities in building a winning self organized teams - Naveen Na...
Naveen Nanjundappa
El Full de Ruta al CFA Municipal l'Olivera
El Full de Ruta al CFA Municipal l'Olivera
Oliverasqv
Viewers also liked
(20)
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
ぺちぱな。 はじまり
ぺちぱな。 はじまり
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
Ospn fuel php
Ospn fuel php
FuelPHP + Pagoda Box
FuelPHP + Pagoda Box
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
CakePHP vs FuelPHP
CakePHP vs FuelPHP
FuelPHPをさわってみて
FuelPHPをさわってみて
はじめての FuelPHP
はじめての FuelPHP
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
今日から始めるLaravel
今日から始めるLaravel
Laravel5を使って開発してみた
Laravel5を使って開発してみた
บุหรี่
บุหรี่
ScrumMaster activities in building a winning self organized teams - Naveen Na...
ScrumMaster activities in building a winning self organized teams - Naveen Na...
El Full de Ruta al CFA Municipal l'Olivera
El Full de Ruta al CFA Municipal l'Olivera
Similar to 10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
はじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
Ruby on Rails Tutorial
Ruby on Rails Tutorial
Ken Iiboshi
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
CodeIgniter入門
CodeIgniter入門
Sho A
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
Gen-Template-for-Perl
Gen-Template-for-Perl
nasneg
Php5 4勉強会
Php5 4勉強会
Yuji Otani
Php in ruby
Php in ruby
do_aki
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
ichikaway
Similar to 10分でわかるFuelPHP @ 2011/12
(20)
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
20091030cakephphandson 01
20091030cakephphandson 01
はじめてのCodeIgniter
はじめてのCodeIgniter
Web技術勉強会 20100925
Web技術勉強会 20100925
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Ruby on Rails Tutorial
Ruby on Rails Tutorial
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
知って得する標準関数の使い方
知って得する標準関数の使い方
WebAPIではじめるphp入門
WebAPIではじめるphp入門
CodeIgniter入門
CodeIgniter入門
Web技術勉強会23回目
Web技術勉強会23回目
PHP基礎勉強会
PHP基礎勉強会
Gen-Template-for-Perl
Gen-Template-for-Perl
Php5 4勉強会
Php5 4勉強会
Php in ruby
Php in ruby
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
More from kenjis
AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワーク
kenjis
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
kenjis
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
kenjis
はじめてのMercurial/Bitbucket その2
はじめてのMercurial/Bitbucket その2
kenjis
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう
kenjis
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード
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
More from kenjis
(14)
AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワーク
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
はじめてのMercurial/Bitbucket その2
はじめてのMercurial/Bitbucket その2
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード
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フレームワーク
10分でわかるFuelPHP @ 2011/12
1.
10分でわかるFuelPHP A simple, flexible,
community driven PHP5.3 framework. 2011/12/25 Kenji Suzuki
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.0公式リリース 2011/10/25 1.1.0-RC1リリース 2011/12/13 1.1.0公式リリース(←今ここ)
5.
FuelPHPとは? 世界第x位のPHPフレームワーク
Googleトレンドによる検索数
6.
FuelPHPとは? 世界第x位のPHPフレームワーク
このへん Googleトレンドによる検索数
7.
FuelPHPの利用例 Under Construction http://
8.
フレームワークとは? Webアプリケーションフレームワークとは? ➔
Webアプリケーションを作成する 「枠組み」 ➔ 機能としては • 過去のプログラミングの経験則の 規約化する • 頻繁に使う機能を抽象化する (モジュール化、ライブラリ化) ➔ Webアプリケーション全体を 見通しよく開発できるようにするもの
9.
FuelPHPに向いている人 CodeIgniterを知っている人 ➔
開発者がCodeIgniter系の人なので、 かなり似てます Kohanaを知っている人 ➔ Kohanaも参考に作られていますので、 さらに似てます(Kohana+α=FuelPHP) Configuration over Convention ➔ 規約が嫌いな人 ➔ CodeIgniter系のフレームワークですので、強制 的な規約は最小限になっています
10.
FuelPHPに向いている人 軽量・高速のフレームワークが好きな人 フレームワークをいろいろ拡張したい人
➔ CodeIgniterのように拡張できます 見やすいドキュメントが好きな人 ➔ CodeIgniterのユーザガイドのように 見やすいです ➔ (ただし英語、しかも完全なドキュメントではあり ません) コマンドラインが好きな人(嫌いでも可)
11.
FuelPHPに向いている人 他のフレームワークに挫折した人 ➔
規約が多すぎて覚えきれない ➔ デカすぎてソース読めないから嫌 ➔ ただし、OOPになれてないと難しいかも ➔ ぶっちゃけ、クラスって何?という人は無理
12.
FuelPHPを使うメリット 高速な動作 ➔
軽量で動作が高速 最新のPHPフレームワーク ➔ PHP5.3以降なので、5.3の機能をフルに使 える コードや仕様がクリーン ➔ PHP5.3でゼロから書かれたフレームワーク なので、完全にOOPであり、クリーンなコー ド ➔ PHP4を引きずっていたりしない
13.
FuelPHPを使うメリット バランス ➔
CodeIgniterよりは広い範囲をカバーして いる ➔ ビューのレイアウト機能、モデルのCRUD機 能、認証ライブラリ、ORMなど コマンドラインによるパワフルな機能 ➔ ScaffoldingやMigration
14.
MVCモデルとは? Controller(コントローラ)は、
入力データに従って適切なデータを呼び出し ModelやViewの連携など、アプリケーション 全体の制御を行う Model(モデル)は、 データベースへのアクセスやデータの修正/ 加工などのデータの管理を行う View(ビュー)は、 処理結果の表示など、画面表示を担当する
15.
MVCモデル
Controller ・リクエスト 流れの制御など 呼び出し ・データ入力 結果 結果 Model 結果 呼び出し データの管理 View 画面表示
16.
FuelPHPのフォルダ構成
公式ドキュメント アプリケーションを配置 FuelPHP本体 FuelPHPのパッケージ oilコマンド Web公開領域 フロントコントローラ
17.
FuelPHPのフォルダ構成
アプリケーションを配置 ブートストラップ キャッシュフォルダ クラスを配置 コントローラを配置 モデルを配置 ビューモデルを配置 設定ファイルを配置 言語ファイルを配置 ログフォルダ マイグレーションファイルを配置 モジュールを配置 タスクを配置 tmpフォルダ サードパーティライブラリを配置 ビューを配置
18.
FuelPHPのURLの構造 URLの構造 http://example.jp/コントローラ/メソッド/引数
http://example.jp/shop/search/123 class Controller_Shop extends Controller { ... function action_search($id) { ... } }
19.
Controller Controllerクラスを継承 クラス名には先頭に「Controller_」を付ける
「Controller_」の後の単語の先頭は大文字 アクションメソッド名には先頭に「action_」を 付ける ファイル名やフォルダ名はすべて小文字 (FuelPHPでの共通の規約) クラス名の中の「_」はフォルダ区切りを意味 する
20.
Controller action_index()メソッドはデフォルトメソッド ➔
http://example.jp/time/ fuel/app/classes/controller/time.php class Controller_Time extends Controller { public function action_index() { // タイトル $data['title'] = '時刻メッセージ'; // 現在の時刻 $data['now_time'] = date("H時i分s秒"); // テンプレートに変数を代入 $this>response>body = View::forge( 'time_view', $data ); } }
21.
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 両方あったら? ➔ class Controller_Timeが優先
22.
Controller
URLとクラス名の対応 http://example.jp/time_message ➔ class Controller_Time_Message ➔ controller/time_message.php ➔ クラス名の「_」はフォルダ区切りになるので これは使えない → 404
23.
Controller
URLとクラス名の対応 http://example.jp/time/time_message ➔ class Controller_Time ➔ controller/time.php ➔ function action_time_message() ➔ メソッド名の「_」はOK
24.
Controller
拡張したクラス Template Controller ➔ ビューのレイアウト機能を追加したもの ➔ Controller_Templateクラスを継承する Rest Controller ➔ RESTfulなコントローラ ➔ Controller_Restクラスを継承する
25.
View
標準のビューファイルは、 単なるPHPファイル fuel/app/view/time_view.php <html> <head> <title><?php echo $title; ?></title> </head> <body> <?php echo $now_time; ?> </body> </html> Controllerのコード $data['title'] = '時刻メッセージ'; $data['now_time'] = date("H時i分s秒"); $this>response>body = View::forge( 'time_view', $data);
26.
View (オプション)Parserモジュール 以下のテンプレートを標準でサポート
➔ SimpleTags ➔ Mustache ➔ Twig ➔ Jade ➔ Haml ➔ Smarty packages/parser/README.md参照
27.
Model オプション(使わないことも可能) ただのPHPのクラス
データベース・アクセスの方法 1. DB::query() 2. Query Builder 3. ORMパッケージ
28.
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);
29.
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);
30.
ORM 1. config.phpでの設定 2. Modelの作成 3.
クエリの実行
31.
Model Modelクラスを継承 fuel/app/classes/model/post.php
class Model_Post extends Model { function find_all() { ... } } または namespace Model; class Post extends Model { function find_all() { ... } }
32.
Modelの使い方
その1 メソッドを呼び出す $data['posts'] = Model_Post::find_all(); Modelのコード class Model_Post extends Model { function find_all() { ... } }
33.
Modelの使い方
その2 メソッドを呼び出す $data['posts'] = ModelPost::find_all(); Modelのコード namespace Model; class Post extends Model { function find_all() { ... } }
34.
Model
拡張したクラス Model_Crudクラス ➔ CRUD機能を追加したもの ➔ Model_Crudクラスを継承する
35.
ORM 1. config.phpでの設定 fuel/app/config/config.php 'always_load' => array(
'packages' => array( 'orm', //'auth', ), ),
36.
ORM
2. Modelの作成 fuel/app/classes/model/post.php <?php namespace Model; class 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')), ); } ※ $_propertiesでカラム名を定義する
37.
ORM
3. クエリの実行 // SQLクエリの実行 $result = ModelPost::find('all'); // 表示処理 foreach ($result as $row) { echo $row['id'] . ' '; echo $row['title'] . ' '; echo $row['summary'] . '<br />'; } echo 'レコード数: ' . count($result);
38.
Coreクラス
どんなものがあるか? Agent Database Fuel Mongo_Db Str Arr Date Html Num Upload Asset Debug Image Package Uri Autoloader Event Inflector Pagination Validation Cache Fieldset Input Redis View Cli File Lang Request Config Form Log Response Cookie Format Migrate Security Crypt Ftp Model_Crud Session
39.
クラスの使い方 静的な呼び出し echo Form::open('uri/to/form');
出力されるHTML <form action="http://localhost/blog/uri/to/form" acceptcharset="utf8" method="post">
40.
クラスの使い方 インスタンス化
$val = Validation::forge(); $val>add('title', 'Title') >add_rule('required'); if ($val>run()) { ... } else { ... }
41.
FuelPHPのセキュリティ フールプルーフではない! ➔
フールプルーフとは? 「よくわかっていない人が扱っても安全」 -- http://e-words.jp/ ➔ ○○を使っていれば安全 ただし、FuelPHPには、 ➔ デフォルトのセキュリティ機能 ➔ 手動で利用するセキュリティ機能 • フレームワークを使わない場合より、 かなり安全
42.
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では自動エスケープ
43.
FuelPHPのセキュリティ セキュリティ機能 ➔
Input filtering • config.phpのsecurity.input_filter ➔ CSRF保護 • 自動ではないが支援機能あり ➔ XSS filtering • HTMLawedというライブラリが付属している
44.
FuelPHPの高い拡張性 Coreクラス ➔
継承・置き換え可能 • コアクラスを置き換えずに拡張する • コアクラスを拡張し、置き換える • パッケージからコアを拡張する
45.
公式ドキュメントの翻訳 https://github.com/NEKOGET/FuelPHP_docs_jp http://press.nekoget.com/fuelphp_doc/
翻訳を手伝ってくれる人を募集中
46.
FuelPHPについての日本語情報 FuelPHP まとめ
Wiki http://fuelphp.phpfogapp.com/wiki/ FuelPHP Advent Calendar 2011 http://atnd.org/events/22380
47.
まとめ FuelPHPは、シンプルでフレキシブルなコミュ
ニティにより開発されているPHP5.3のフレー ムワークです。 公式ドキュメントの翻訳を手伝ってくれる人を 募集しています。
Download now