Fuel php osc tokyo2012

14,301 views

Published on

オープンソースカンファレンス東京 2012秋の発表資料。
FuelPHP の Rest コントローラを用いて、json や xml や csv で出力する方法のデモ。
FuelPHP ベースの多言語対応 CMS である Novius OS の紹介。

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

No Downloads
Views
Total views
14,301
On SlideShare
0
From Embeds
0
Number of Embeds
12,078
Actions
Shares
0
Downloads
17
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Fuel php osc tokyo2012

  1. 1. FuelPHP & Novius OS 水野史土 mizuno@php-web.net
  2. 2. FuelPHPコミュニティ駆動特定のベンダーに依存しないgithub.com/fuelで pull request できるコア貢献者100人以上ドキュメント、パッケージ等も貢献者多数
  3. 3. FuelPHPMVC フレームワークPHP 5.3 前提開発当初から名前空間採用軽量&シンプルドキュメント込みで約 5.1 MBルールが緩い、規約より設定
  4. 4. FuelPHP 関連の書籍FuelPHP 入門 ソーテック社 早川聖司著はじめてのフレームワークとしてのFuelPHP 達人出版会 鈴木憲治著
  5. 5. コントローラを作るclass Controller_Abc extends Controller{ public function action_xyz() { (省略) }} クラス名の Controller クラスを 先頭に Controller_ 継承して作る
  6. 6. コントローラのメソッド名class Controller_Abc extends Controller{ public function action_xyz() { (省略) }} メソッド名の 先頭に action_
  7. 7. クラス名、メソッド名と URL の対応class Controller_Abc extends Controller{ public function action_xyz() { (省略) }}URL/index.php/abc/xyz
  8. 8. 様々な形式で出力Rest コントローラxml, json, jsonp, csv, php, serializedAPI 提供等、外部サイトとの連携
  9. 9. Controller_Rest を継承するclass Controller_Abc extends Controller_Rest{ public function get_xyz() { (省略) }}URL/index.php/abc/xyz.json
  10. 10. クラス名、メソッド名と URL の対応class Controller_Abc extends Controller_Rest{ public function get_xyz() { (省略) }}URL/index.php/abc/xyz.json
  11. 11. クラス名、メソッド名と URL の対応class Controller_Abc extends Controller_Rest{ public function get_xyz() { (省略) } この部分の対応は、} 通常のコントローラと共通URL/index.php/abc/xyz.json
  12. 12. メソッド名のプレフィックスclass Controller_Abc extends Controller_Rest{ public function get_xyz() { (省略) } HTTP リクエストの種類を指定} GET, POST, PUT DELETEURL/index.php/abc/xyz.json
  13. 13. URL の拡張子class Controller_Abc extends Controller_Rest{ public function get_xyz() { (省略) 出力フォーマットを指定する } xml, json, jsonp, csv, php, serialized}URL/index.php/abc/xyz.json
  14. 14. サンプルを作ってみたuse ModelMedal;class Controller_London extendsController_Rest{ public function get_medals() { $this->response(Medal::getdata()); }}URL/index.php/london/medals.json 等
  15. 15. namespace Model; China => array( gold => 38,class Medal extends Model silver => 27,{ bronze => 23, static function getdata() ), { UK => array( return static::$data; gold => 29, } silver => 17, static protected $data = array( bronze => 19, USA => array( ), gold => 46, ); silver => 29, } bronze => 29, ),
  16. 16. URL/index.php/london/medals.xml
  17. 17. URL/index.php/london/medals.php
  18. 18. Novius OSFuelPHP ベースの CMShttp://www.novius-os.org/多言語サイトに対応2012年8月時点で ver.0.1
  19. 19. Novius OS と FuelPHP の関係Novius OS にコミットしている人は、FuelPHPにもコミットしている人が多い単に乗っかているだけではない

×