Your SlideShare is downloading. ×
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
FuelPHPをさわってみて
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

FuelPHPをさわってみて

40,687

Published on

「PHPカンファレンス関西2012」発表資料

「PHPカンファレンス関西2012」発表資料

Published in: Technology
0 Comments
43 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
40,687
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
19
Comments
0
Likes
43
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. PHPカンファレンス関西2012FuelPHPをさわってみて大村創太郎2012/5/12
    • 2. 自己紹介
    • 3. •大村創太郎
    • 4. •大村創太郎•大阪府池田市出身・在住
    • 5. •大村創太郎•大阪府池田市出身・在住•株式会社タップ
    • 6. •大村創太郎•大阪府池田市出身・在住•株式会社タップ•PHPは10年ぐらい
    • 7. •omoon
    • 8. •omoon
    • 9. •今日のスタッフです
    • 10. ただの利用者です
    • 11. ここ数ヶ月合間をみてちょこちょこ
    • 12. 個人的に1つ
    • 13. 業務で2つ
    • 14. とても楽しい
    • 15. 今日はそういうはなしをします
    • 16. 僕のフレームワーク遍歴
    • 17. Symfony 1.x
    • 18. myopenarchive.org
    • 19. 主にデザイン担当
    • 20. cakePHP 1.x
    • 21. 社内のお遊びアプリ
    • 22. 挫折したため画像なし
    • 23. 業務では
    • 24. 社内独自フレームワーク
    • 25. オレオレフレームワーク
    • 26. ぼくがかんがえたさいきょうの ふれーむわーく
    • 27. 作った時は最高だと思う
    • 28. 作っているうちに最低だと思う
    • 29. 2回作り直し
    • 30. 最新版を作る時にSymfony2を参考にした
    • 31. 完全に乗り換えるのは難しかった
    • 32. 先月Symfony2勉強会を開催
    • 33. ちなみに
    • 34. 今日の参加者アンケートはその成果です
    • 35. ご協力よろしくお願いします
    • 36. その準備をしていた2月頃
    • 37. FuelPHPに出会ってしまった
    • 38. 今日するはなし
    • 39. •FuelPHPの素敵な雰囲気
    • 40. •FuelPHPの素敵な雰囲気•インストールからサイト表示まで
    • 41. •FuelPHPの素敵な雰囲気•インストールからサイト表示まで•ちょっとだけソースのはなし
    • 42. 今日しないはなし
    • 43. たくさんあります
    • 44. 近くFuelPHPの入門書が出版されるようです
    • 45. http://d.hatena.ne.jp/Kenji_s/20120425/fuelphp_book_reviewer
    • 46. http://fuelphp-book.phpfogapp.com/notifyme
    • 47. 詳しくはそちらで
    • 48. What is ?
    • 49. FuelPHP is a simple,flexible, community drivenPHP 5.3 web frameworkbased on the best ideas ofother frameworks with afresh start.
    • 50. サイトはなんかおしゃれなのに
    • 51. 出てくる単語がいちいちガテン系
    • 52. fuel
    • 53. fuel = 燃料
    • 54. fuel = 燃料
    • 55. fuel = 燃料
    • 56. oil
    • 57. oil = 油
    • 58. oil = 油
    • 59. oil = 油
    • 60. forge
    • 61. View::forge();Response::forge();
    • 62. forge = 鍛造する
    • 63. forge = 鍛造(たんぞう)する
    • 64. forge = 〈鉄などを〉鍛えて(金属製品に)する
    • 65. forge = 鍛造する
    • 66. forge = 鍛造する
    • 67. forge = 鍛造する
    • 68. ガテン系、でも、なんか洒落てる
    • 69. そんな雰囲気
    • 70. さて、出会いのはなし
    • 71. 衝撃の Quick Installation
    • 72. たったの3行
    • 73. $ curl get.fuelphp.com/oil | sh$ cd Sites/$ oil create blog
    • 74. やってみます(demo)
    • 75. get.fuelphp.com/oilのなかみ
    • 76. #!/bin/bashPREFIX="/usr/bin/"install_oil() { sudo sh -c "curl --silent http://get.fuelphp.com/installer.sh > ${PREFIX}oil" sudo chmod +x ${PREFIX}oil}## Handle execution#main() { # Start installation install_oil exit 0}main
    • 77. get.fuelphp.com/installer.shのなかみ
    • 78. #!/bin/bashif [ -f "./oil" ]; then php oil "$@"else if [ "$1" == "create" ]; then if [ ! `which git` ]; then echo "For this installer to work youll needto install Git." echo http://git-scm.com/ fi git clone --recursive git://github.com/fuel/fuel.git "./$2" php "./$2/oil" refine install else echo This is not a valid Fuel installation so Oilis a bit lost. echo http://fuelphp.com/docs/installation/instructions.html fifi
    • 79. https://github.com/fuel/fuel
    • 80. https://github.com/fuel/fuel
    • 81. そこから git clone
    • 82. で、oil create blog
    • 83. かっこえー
    • 84. ここまでをまとめます
    • 85. なんか今風
    • 86. github
    • 87. twitter bootstrap
    • 88. twitter bootstrap
    • 89. なんか気持ちいい
    • 90. モチベーション維持には非常に重要
    • 91. では、中味をそろそろ
    • 92. ドキュメント
    • 93. ドキュメントついてくる!
    • 94. ドキュメントみてみましょう
    • 95. FuelPHPのcore
    • 96. 公開部分
    • 97. 僕達が書くとこ
    • 98. MVC
    • 99. M
    • 100. V
    • 101. C
    • 102. ここはVじゃない!
    • 103. ViewModel今日は話しません
    • 104. 実は Model のはなしもしません
    • 105. Controller
    • 106. ここに配置
    • 107. class Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 108. Controllerのルール
    • 109. • prefixed with "Controller_"
    • 110. • prefixed with "Controller_"• should extend the Controller class
    • 111. • prefixed with "Controller_"• should extend the Controller class• action_
    • 112. • prefixed with "Controller_"• should extend the Controller class• action_• A controller action MUST return a Response object.
    • 113. prefixed with "Controller_"class Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 114. should extend the Controller classclass Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 115. action_class Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 116. A controller action MUST return a Response object.class Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 117. URLとの関係
    • 118. http://localhost/blog/public/welcome/index
    • 119. http://localhost/blog/public/welcome/indexclass Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); }}
    • 120. http://localhost/blog/public/welcome/helloclass Controller_Welcome extends Controller{ public function action_index() { return Response::forge(View::forge(welcome/index)); } public function action_hello() { return Response::forge( View::forge( welcome/hello, array(name => $this->param(name, World)) ) ); }}
    • 121. http://localhost/blog/public/
    • 122. Routing
    • 123. ここに配置
    • 124. <?phpreturn array( _root_ => welcome/index, // The default route _404_ => welcome/404, // The main 404 route hello(/:name)? => array(welcome/hello),);
    • 125. <?phpreturn array( _root_ => welcome/index, // The default route _404_ => welcome/404, // The main 404 route hello(/:name)? => array(welcome/hello),);
    • 126. http://localhost/blog/public/
    • 127. http://localhost/blog/public/hello/php
    • 128. http://localhost/blog/public/hello/php
    • 129. <?phpreturn array( _root_ => welcome/index, // The default route _404_ => welcome/404, // The main 404 route hello(/:name)? => array(welcome/hello),);
    • 130. http://localhost/blog/public/hello/phpclass Controller_Welcome extends Controller{ public function action_hello() { return Response::forge( View::forge( welcome/hello, array(name => $this->param(name, World)) ) ); }}
    • 131. $this->param( hoge , default )
    • 132. $this->param( hoge , default )
    • 133. http://localhost/blog/public/hello
    • 134. http://localhost/blog/public/hello/phpclass Controller_Welcome extends Controller{ public function action_hello() { return Response::forge( View::forge( welcome/hello, array(name => $this->param(name, World)) ) ); }}
    • 135. View
    • 136. ここに配置
    • 137. ここはVじゃない!
    • 138. ここに配置
    • 139. デフォルトではviewファイルは生のPHP
    • 140. 配置場所によって名前がきまる
    • 141. 例えばこいつ
    • 142. welcome/indexと呼びます
    • 143. で、さきほどの
    • 144. http://localhost/blog/public/hello/php
    • 145. http://localhost/blog/public/hello/php<body> <div id="header"> <div class="row"> <div id="logo"></div> </div> </div> <div class="container"> <div class="row"> <div class="span16"> <h1>Hello, <?php echo $name; ?>! <
    • 146. http://localhost/blog/public/hello/phpclass Controller_Welcome extends Controller{ public function action_hello() { return Response::forge( View::forge( welcome/hello, array(name => $this->param(name, World)) ) ); }}
    • 147. http://localhost/blog/public/hello/php<body> <div id="header"> <div class="row"> <div id="logo"></div> </div> </div> <div class="container"> <div class="row"> <div class="span16"> <h1>Hello, <?php echo $name; ?>! <
    • 148. 値の渡し方
    • 149. 値の渡し方その1$data = array(title => hoge, contents => fuga);return Response::forge(View::forge(welcome/index, $data));
    • 150. 値の渡し方その2$view = View::forge(welcome/index);$view->title = hoge;$view->contents = fuga;return Response::forge($view);
    • 151. 値の渡し方その3$view = View::forge(home/index);$view->set(title, hoge);$view->set(contents, fuga);return Response::forge($view);
    • 152. ページ表示のしくみでした
    • 153. Controller 以外の Controller
    • 154. •Controller
    • 155. •Controller•Controller_Template
    • 156. •Controller•Controller_Template•Controller_Rest
    • 157. •Controller•Controller_Template•Controller_Rest•Controller_Hybrid
    • 158. •Controller•Controller_Template•Controller_Rest•Controller_Hybrid
    • 159. メソッドのprefixでリクエストメソッドを指定
    • 160. http://localhost/test/listにgetclass Controller_Test extends Controller_Rest{ public function get_list() { $this->response(array( foo => Input::get(foo), baz => array( 1, 50, 219 ), empty => null )); }}
    • 161. URL で format を指定
    • 162. test/list.json?foo=php{"foo":"php","baz":[1,50,219],"empty":null}
    • 163. test/list.xml?foo=php<xml><foo>php</foo><baz><item>1</item><item>50</item><item>219</item></baz><empty/></xml>
    • 164. API作成がサクッとできて嬉しい
    • 165. ほかにもいくつか
    • 166. • xml ‒ almost any programming language can read XML• json ‒ useful for JavaScript and increasingly PHP apps.• csv ‒ open with spreadsheet programs• html ‒ a simple HTML table• php ‒ Representation of PHP code that can be eval() ed• serialize ‒ Serialized data that can be unserialized in PHP
    • 167. ざっとこんな感じです
    • 168. その他にもたくさん
    • 169. 柔軟なConfiguration
    • 170. Environment のはなし
    • 171. $ oil test --group=Appみたいなはなし
    • 172. DB / Model / Form /Validation / Fieldset /Auth /Session / Parser
    • 173. ドキュメント
    • 174. ドキュメント翻訳メンバーも募集中のようです
    • 175. ということで、みなさんも
    • 176. fuel = 燃料
    • 177. oil = 油
    • 178. forge = 鍛造する
    • 179. ありがとうございました

    ×