FuelPHP

FuelPHPまとめノート10 (API)

More than 3 years have passed since last update.

(まとめ中)


参照

http://blog.omoon.org/20131219/925

http://fuelphp.jp/docs/1.7/general/controllers/rest.html


基本形

http://localhost/test/list.json?foo=bar


api.php


class Controller_Test extends Controller_Rest
{

public function get_list()
{
return $this->response(array(
'foo' => Input::get('foo'),
'baz' => array(
1, 50, 219
),
'empty' => null
));
}
}


ファイル拡張子がURLで定義されているので、これは JSON として出力される。

デフォルトでは、XMLフォーマット出力されるか、 fuel/core/config/rest.phpに設定されているフォーマットで出力される。


出力


{
"foo":"bar",
"baz":[1,50,219],
"empty":null
}


フォーマットの決定


  • 対応フォーマットを含むなら、protected なプロパティである $format を使用する


  • 対応フォーマットであるなら、URL の拡張子を使用する


  • 対応フォーマットを含むなら、ルートの中で指定された :format 変数のフォーマットを使用する


  • HTTP_ACCEPT で定義されたフォーマットを使用する


  • あなたのクラスの $rest_format プロパティで定義されたデフォルト値を使用する


  • グローバル設定の default_format で意義された値を使用する



別サンプル


api.php

<?php

class Controller_Api extends Controller_Rest {
protected $format = 'json';
public function post_q() {
$this->response(array(1,2,3));
}
}