Soumettre la recherche
Mettre en ligne
omoon.org の裏側 〜FuelPHP の task 活用例〜
•
4 j'aime
•
10,003 vues
Sotaro Omura
Suivre
2013/10/12 の FuelPHP&CodeIgniter ユーザの集い LT 資料です。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 81
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
Katsuhiro Miura
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
はじめての FuelPHP
はじめての FuelPHP
Sho A
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
CodeIgniter入門
CodeIgniter入門
Sho A
あらためてPHP5.3
あらためてPHP5.3
Masashi Shinbara
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Recommandé
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
FuelPHPで3種のprofilerを使ってみた
FuelPHPで3種のprofilerを使ってみた
Katsuhiro Miura
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
はじめての FuelPHP
はじめての FuelPHP
Sho A
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
CodeIgniter入門
CodeIgniter入門
Sho A
あらためてPHP5.3
あらためてPHP5.3
Masashi Shinbara
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
Mika Kane
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
最近の PHP の話
最近の PHP の話
y-uti
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
PHP勉強会 #51
PHP勉強会 #51
Takako Miyagawa
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
Yuya Takeyama
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
CMSとPerlで遊ぼう
CMSとPerlで遊ぼう
Daiki Ichinose
PHP の GC の話
PHP の GC の話
y-uti
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Keishi Hosoba
Composerを利用した FuelPHPのパッケージ管理方法
Composerを利用した FuelPHPのパッケージ管理方法
nasneg
Contenu connexe
Tendances
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
Mika Kane
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
最近の PHP の話
最近の PHP の話
y-uti
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
PHP勉強会 #51
PHP勉強会 #51
Takako Miyagawa
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
Yuya Takeyama
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
CMSとPerlで遊ぼう
CMSとPerlで遊ぼう
Daiki Ichinose
PHP の GC の話
PHP の GC の話
y-uti
Tendances
(20)
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
Fuel php osc tokyo2012
Fuel php osc tokyo2012
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
実用裏方 Perl 入門
実用裏方 Perl 入門
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
HHVM Hack
HHVM Hack
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
PHPの今とこれから2014
PHPの今とこれから2014
最近の PHP の話
最近の PHP の話
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
PHPの今とこれから 2013
PHPの今とこれから 2013
PHP勉強会 #51
PHP勉強会 #51
Hack/HHVM 入門
Hack/HHVM 入門
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
PHPの今とこれから2021
PHPの今とこれから2021
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
CMSとPerlで遊ぼう
CMSとPerlで遊ぼう
PHP の GC の話
PHP の GC の話
En vedette
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Keishi Hosoba
Composerを利用した FuelPHPのパッケージ管理方法
Composerを利用した FuelPHPのパッケージ管理方法
nasneg
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
FuelPHP で DynamoDB
FuelPHP で DynamoDB
Tetsuji Koyama
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Takako Miyagawa
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
智之 大野
PHPUnitでリファクタリング
PHPUnitでリファクタリング
Takako Miyagawa
2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理
Akishige TAKEKOSHI
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
Takako Miyagawa
Idcfクラウド 初心者の事始め(2)資料
Idcfクラウド 初心者の事始め(2)資料
Takako Miyagawa
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張Tips
Kenichirou Oyama
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
Kousuke Ebihara
Codeigniter4の比較と検証
Codeigniter4の比較と検証
ME iBotch
8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会
Yusuke Ando
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
Yusuke Ando
BEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
BEAR.Sunday $app
BEAR.Sunday $app
Akihito Koriyama
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
Masaru Matsuo
En vedette
(20)
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Composerを利用した FuelPHPのパッケージ管理方法
Composerを利用した FuelPHPのパッケージ管理方法
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
FuelPHP で DynamoDB
FuelPHP で DynamoDB
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
PHPUnitでリファクタリング
PHPUnitでリファクタリング
2017 02-14 キュー実装に見る排他処理
2017 02-14 キュー実装に見る排他処理
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
Idcfクラウド 初心者の事始め(2)資料
Idcfクラウド 初心者の事始め(2)資料
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張Tips
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
Codeigniter4の比較と検証
Codeigniter4の比較と検証
8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
BEAR.Sunday 1.X
BEAR.Sunday 1.X
BEAR.Sunday $app
BEAR.Sunday $app
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
Similaire à omoon.org の裏側 〜FuelPHP の task 活用例〜
Using Dancer
Using Dancer
Yoshihiro Sasaki
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
Emma Haruka Iwao
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
Try Jetpack
Try Jetpack
Hideaki Miyake
Capistrano
Capistrano
Yasuharu Fukuda
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
鉄次 尾形
React Native GUIDE
React Native GUIDE
dcubeio
Silex入門
Silex入門
Takuya Sato
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
i7a
初めてのPadrino
初めてのPadrino
Takeshi Yabe
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
Ci tutorial
Ci tutorial
Kazuaki Ueda
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
純生 野田
Functions
Functions
do_aki
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
test
test
a1yama1123
Similaire à omoon.org の裏側 〜FuelPHP の task 活用例〜
(20)
Using Dancer
Using Dancer
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Try Jetpack
Try Jetpack
Capistrano
Capistrano
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
React Native GUIDE
React Native GUIDE
Silex入門
Silex入門
Tottoruby 20110903
Tottoruby 20110903
Web技術勉強会23回目
Web技術勉強会23回目
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
初めてのPadrino
初めてのPadrino
Web技術勉強会 20100925
Web技術勉強会 20100925
Ci tutorial
Ci tutorial
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
YAPC::Kansai 2017 - macOSネイティブアプリ作成におけるPerlの活用
Functions
Functions
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
test
test
Plus de Sotaro Omura
RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告
Sotaro Omura
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
プログラマ進化論
プログラマ進化論
Sotaro Omura
CakePHP vs FuelPHP
CakePHP vs FuelPHP
Sotaro Omura
FuelPHP + Pagoda Box
FuelPHP + Pagoda Box
Sotaro Omura
PHPで文字コードとエラーメッセージをコントロールする
PHPで文字コードとエラーメッセージをコントロールする
Sotaro Omura
seleniumをPHPで使う
seleniumをPHPで使う
Sotaro Omura
Plus de Sotaro Omura
(7)
RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
プログラマ進化論
プログラマ進化論
CakePHP vs FuelPHP
CakePHP vs FuelPHP
FuelPHP + Pagoda Box
FuelPHP + Pagoda Box
PHPで文字コードとエラーメッセージをコントロールする
PHPで文字コードとエラーメッセージをコントロールする
seleniumをPHPで使う
seleniumをPHPで使う
Dernier
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Dernier
(8)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
omoon.org の裏側 〜FuelPHP の task 活用例〜
1.
omoon.org の裏側 FuelPHP の
task 活用例 FuelPHP&CodeIgniter ユーザの集い(FuelPHP東京勉強会#5、CodeIgniter talk #2) October 12, 2013 Sotaro OMURA @omoon
2.
About Me
3.
About Me •Sotaro OMURA
4.
About Me •Sotaro OMURA •大阪から来ました
5.
About Me •Sotaro OMURA •大阪から来ました •Kansai
PHP Users Group Staff
6.
About Me •Sotaro OMURA •大阪から来ました •Kansai
PHP Users Group Staff •PHP歴は12年ほど(最近はFuelPHP)
7.
About Me •Sotaro OMURA •大阪から来ました •Kansai
PHP Users Group Staff •PHP歴は12年ほど(最近はFuelPHP) •omoon.org
8.
About Me •Sotaro OMURA •大阪から来ました •Kansai
PHP Users Group Staff •PHP歴は12年ほど(最近はFuelPHP) •omoon.org •@omoon
9.
About Me •Sotaro OMURA •大阪から来ました •Kansai
PHP Users Group Staff •PHP歴は12年ほど(最近はFuelPHP) •omoon.org •@omoon
10.
めんどくさがり
11.
12.
13.
About Me
14.
About Me
15.
フレームワークを使った サンプルアプリケーション
16.
1 <?php 2
require __DIR__ . '/../vendor/autoload.php'; 3 4 $app = new SilexApplication(); 5 6 $app-‐>register(new SilexProviderTwigServiceProvider(), array( 7 'twig.path' => __DIR__.'/../views', 8 )); 9 10 // データベース接続情報の読込 11 $env = getenv('APP_ENV') ?: 'development'; 12 $config = require __DIR__ . "/../config/$env.php"; 13 $app-‐>register(new SilexProviderDoctrineServiceProvider(), array( 14 'db.options' => $config['db'], 15 )); 16 17 // トップ画面 18 $app-‐>get('/', function(SilexApplication $app) { 19 $posts = $app['db']-‐>fetchAll(' 20 SELECT name, message, unix_timestamp(created) as created 21 FROM posts ORDER BY created DESC LIMIT 5 22 '); 23 return $app['twig']-‐>render('index.twig', array( 24 'posts' => $posts, 25 )); 26 }); 27 28 // 投稿処理 29 $app-‐>post('/speak', function(SilexApplication $app) { 30 $name = $app['request']-‐>get('name'); 31 $message = $app['request']-‐>get('message'); 32 if ($name && $message) { 33 $app['db']-‐>insert('posts', array('name' => $name, 'message' => $message)); 34 } 35 return $app-‐>redirect('/'); 36 }); 37 38 $app-‐>run();
17.
1 <?php 2
require __DIR__ . '/../vendor/autoload.php'; 3 4 $app = new SilexApplication(); 5 6 $app-‐>register(new SilexProviderTwigServiceProvider(), array( 7 'twig.path' => __DIR__.'/../views', 8 )); 9 10 // データベース接続情報の読込 11 $env = getenv('APP_ENV') ?: 'development'; 12 $config = require __DIR__ . "/../config/$env.php"; 13 $app-‐>register(new SilexProviderDoctrineServiceProvider(), array( 14 'db.options' => $config['db'], 15 )); 16 17 // トップ画面 18 $app-‐>get('/', function(SilexApplication $app) { 19 $posts = $app['db']-‐>fetchAll(' 20 SELECT name, message, unix_timestamp(created) as created 21 FROM posts ORDER BY created DESC LIMIT 5 22 '); 23 return $app['twig']-‐>render('index.twig', array( 24 'posts' => $posts, 25 )); 26 }); 27 28 // 投稿処理 29 $app-‐>post('/speak', function(SilexApplication $app) { 30 $name = $app['request']-‐>get('name'); 31 $message = $app['request']-‐>get('message'); 32 if ($name && $message) { 33 $app['db']-‐>insert('posts', array('name' => $name, 'message' => $message)); 34 } 35 return $app-‐>redirect('/'); 36 }); 37 38 $app-‐>run();
18.
1 <?php 2
require __DIR__ . '/../vendor/autoload.php'; 3 4 $app = new SilexApplication(); 5 6 $app-‐>register(new SilexProviderTwigServiceProvider(), array( 7 'twig.path' => __DIR__.'/../views', 8 )); 9 10 // データベース接続情報の読込 11 $env = getenv('APP_ENV') ?: 'development'; 12 $config = require __DIR__ . "/../config/$env.php"; 13 $app-‐>register(new SilexProviderDoctrineServiceProvider(), array( 14 'db.options' => $config['db'], 15 )); 16 17 // トップ画面 18 $app-‐>get('/', function(SilexApplication $app) { 19 $posts = $app['db']-‐>fetchAll(' 20 SELECT name, message, unix_timestamp(created) as created 21 FROM posts ORDER BY created DESC LIMIT 5 22 '); 23 return $app['twig']-‐>render('index.twig', array( 24 'posts' => $posts, 25 )); 26 }); 27 28 // 投稿処理 29 $app-‐>post('/speak', function(SilexApplication $app) { 30 $name = $app['request']-‐>get('name'); 31 $message = $app['request']-‐>get('message'); 32 if ($name && $message) { 33 $app['db']-‐>insert('posts', array('name' => $name, 'message' => $message)); 34 } 35 return $app-‐>redirect('/'); 36 }); 37 38 $app-‐>run(); なんかすみません
19.
FuelPHPとのなれそめ
20.
21.
22.
23.
24.
25.
お好きですね
26.
他に
27.
28.
最近は
29.
30.
31.
32.
33.
34.
JSONでやりとり
35.
36.
ありがとう
37.
さて
38.
omoon.org
39.
40.
omoon.org
41.
omoon.org •2002年ごろスタート
42.
omoon.org •2002年ごろスタート •写真と一行コメントだけ
43.
omoon.org •2002年ごろスタート •写真と一行コメントだけ •最初は HTML +
FTP アップロード
44.
めんどくさがり
45.
46.
47.
48.
簡易化の歴史
49.
簡易化の歴史 •Flickr
50.
簡易化の歴史 •Flickr •PHP + MySQL
51.
簡易化の歴史 •Flickr •PHP + MySQL •Flickr
+ Eye-Fi
52.
簡易化の歴史 •Flickr •PHP + MySQL •Flickr
+ Eye-Fi •独自 cron job
53.
54.
オレオレなので完成しない
55.
56.
Tasks are classes
that can be run through the command line or set up as a cron job. They are generally used for background processes, timed tasks and maintenance tasks. Tasks can calls models and other classes just like controllers.
57.
Tasks
58.
Tasks •コマンドラインから呼べる
59.
Tasks •コマンドラインから呼べる •cron jobとして使える
60.
Tasks •コマンドラインから呼べる •cron jobとして使える •バックグラウンド処理とか
61.
Tasks •コマンドラインから呼べる •cron jobとして使える •バックグラウンド処理とか •定期的な処理とか
62.
Tasks •コマンドラインから呼べる •cron jobとして使える •バックグラウンド処理とか •定期的な処理とか •メンテナンスに
63.
Tasks •コマンドラインから呼べる •cron jobとして使える •バックグラウンド処理とか •定期的な処理とか •メンテナンスに •モデルやクラスをコントローラから呼ぶ時みたいに呼べる
64.
いけるかも
65.
やってみた
66.
67.
▾ fuel/
▾ app/ ▸ cache/ ▾ classes/ ▸ controller/ ▸ model/ ▸ twig/ ▸ view/ flickr.php ▾ config/ ▸ development/ ▸ production/ ▸ test/ config.php db.php parser.php rest.php routes.php ▸ lang/ ▸ less/ ▸ logs/ ▸ migrations/ ▸ modules/ ▾ tasks/ flickr.php robots.php ▸ tests/ ▸ tmp/ ▾ vendor/ ▸ Goutte/ ▾ phpFlickr/ auth.php example.php getToken.php phpFlickr.php README.txt ▸ Twig/ .gitkeep 外部ライブラリ
68.
▾ fuel/
▾ app/ ▸ cache/ ▾ classes/ ▸ controller/ ▸ model/ ▸ twig/ ▸ view/ flickr.php ▾ config/ ▸ development/ ▸ production/ ▸ test/ config.php db.php parser.php rest.php routes.php ▸ lang/ ▸ less/ ▸ logs/ ▸ migrations/ ▸ modules/ ▾ tasks/ flickr.php robots.php ▸ tests/ ▸ tmp/ ▾ vendor/ ▸ Goutte/ ▾ phpFlickr/ auth.php example.php getToken.php phpFlickr.php README.txt ▸ Twig/ .gitkeep クラス
69.
require_once APPPATH .
'vendor' . DS . 'phpFlickr' . DS . 'phpFlickr.php'; class Flickr { protected static $_instance = null; private function __construct() { $this-‐>api = new phpFlickr( 'xxxxxxxxxxxxxxxxxxxx' //Config::get('app.flickr_api_key') ); } public static function forge() { if (empty(self::$_instance)) { static::$_instance = new static(); } return static::$_instance-‐>api; } }
70.
▾ fuel/
▾ app/ ▸ cache/ ▾ classes/ ▸ controller/ ▸ model/ ▸ twig/ ▸ view/ flickr.php ▾ config/ ▸ development/ ▸ production/ ▸ test/ config.php db.php parser.php rest.php routes.php ▸ lang/ ▸ less/ ▸ logs/ ▸ migrations/ ▸ modules/ ▾ tasks/ flickr.php robots.php ▸ tests/ ▸ tmp/ ▾ vendor/ ▸ Goutte/ ▾ phpFlickr/ auth.php example.php getToken.php phpFlickr.php README.txt ▸ Twig/ .gitkeep タスク
71.
namespace FuelTasks; class Flickr {
public static function run($limit = 4) { $response = Flickr::forge()-‐>photos_search( array( 'user_id' => '94387617@N00', 'per_page' => $limit, 'tags' => 'asgt,cover', 'tag_mode' => 'all', 'sort' => 'date-‐taken-‐desc' ) ); foreach ($response['photo'] as $photo) { $r = Flickr::forge()-‐>photos_getInfo($photo['id']); $e = Flickr::forge()-‐>photos_getExif($photo['id']); //print_r($e['camera']); if (null === Model_Coverphoto::find_by('flickr_id', $r['photo']['id'])) { $r['photo']['dates']['taken']; $coverphoto = Model_Coverphoto::forge(); $coverphoto-‐>flickr_id = $r['photo']['id']; $coverphoto-‐>title = $r['photo']['description']; $coverphoto-‐>taken_at = $r['photo']['dates']['taken']; $coverphoto-‐>camera = $e['camera']; $coverphoto-‐>data = json_encode($r['photo']); $coverphoto-‐>save(); } } } }
72.
# crontab -‐e *
* * * * cd /var/www/omoon.org; /usr/bin/php oil refine flickr:run
73.
74.
omoon.org
75.
タグ付けだけで更新可能
76.
iPhoneのflickrアプリでも
77.
今後の展望
78.
79.
80.
task を積極的に使いましょう
81.
ありがとうございました
Télécharger maintenant