Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fuel php osc tokyo2012

14,516 views

Published on

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

Published in: Technology
  • Be the first to comment

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にもコミットしている人が多い単に乗っかているだけではない

×