\CodeLapse\ControllerRest

RESTful APIを簡略に用意するためのクラスです。

コントローラを定義する

<?php
// on 'api/group.php'
require 'cl/bs.php';

CodeLapse\Controller\Rest::create()
->whenGet(function () {
    // GETメソッドでアクセスされた時のコールバック
    $group_id = Input::get('id');
    $rs = DB::query('SELECT * FROM `groups` WHERE `group_id` = ?', array($group_id));
    return array(
        'result'     => true,
        'groups'     => $rs->fetchAll()
    );
})

->whenPost(function () {
    // POSTメソッドでアクセスされた時のコールバック
    list($group_name, $group_leader) = Input::post(array('group_name', 'leader_id'));
    $result = DB::query('INSERT INTO `groups`(`name`, `leader_id`) VALUES (?, ?)', array(
        $group_name, $group_leader
    ));
    return array('result' => $result !== false);
})

->handleException(function ($exception) {
    // コントローラの処理中にエラーが起きた際の処理
    return array(
        'result'     => false,
        'message'    => $exception->getMessage()
    );
})

// コントローラによるハンドリングを実行する
// (このメソッド実行後、スクリプトは終了します。)
->execute();

コールバック関数

コールバック関数は何かしらの値を返すことが出来ます。
返された値が配列であった場合、RestControllerは配列をJSON文字列へ変換し
レスポンスとして返します。

Summary

Methods
Properties
Constants
create()
execute()
acceptCrossOrigin()
when()
whenGet()
whenPost()
whenDelete()
whenPut()
whenPatch()
whenUnsupportedMethod()
handleException()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
processResponse()
executeHandler()
executeExceptionHandler()
$crossOriginAccepted
$acceptedOrigins
$handlers
$exceptionHandler
$unsupportedHandler
N/A

Properties

$crossOriginAccepted

$crossOriginAccepted : 

Type

$acceptedOrigins

$acceptedOrigins : 

Type

$handlers

$handlers : 

Type

$exceptionHandler

$exceptionHandler : 

Type

$unsupportedHandler

$unsupportedHandler : 

Type

Methods

create()

create() : \CodeLapse\Controller\Rest

Restのインスタンスを生成します。 スムーズなメソッドチェーンを行うためのメソッドです。

Returns

\CodeLapse\Controller\Rest

execute()

execute(\CodeLapse\Controller\callable? $before_shutdown)

現在サーバーで受け付けているリクエストに対してハンドリングを行います。 **このメソッドは処理が完了するとスクリプトを終了します。**

Parameters

\CodeLapse\Controller\callable? $before_shutdown

スクリプト終了前に実行されるコールバック関数

acceptCrossOrigin()

acceptCrossOrigin(string $origins) : \CodeLapse\Controller\Rest

クロスオリジンのアクセスを許可します。

Parameters

string $origins

許可するオリジン(複数指定は空白区切りで行う)

Returns

\CodeLapse\Controller\Rest

when()

when(string $method, callable $fn) : \CodeLapse\Controller\Rest

指定されたメソッドでアクセスされた時のハンドラを指定します。

Parameters

string $method

ハンドリングするHTTPメソッド名

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenGet()

whenGet(callable $fn) : \CodeLapse\Controller\Rest

GETメソッドでアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenPost()

whenPost(callable $fn) : \CodeLapse\Controller\Rest

POSTメソッドでアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenDelete()

whenDelete(callable $fn) : \CodeLapse\Controller\Rest

DELETEメソッドでアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenPut()

whenPut(callable $fn) : \CodeLapse\Controller\Rest

PUTメソッドでアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenPatch()

whenPatch(callable $fn) : \CodeLapse\Controller\Rest

PATCHメソッドでアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

whenUnsupportedMethod()

whenUnsupportedMethod(callable $fn) : \CodeLapse\Controller\Rest

ハンドリングされていないメソッドへアクセスされた時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数

Returns

\CodeLapse\Controller\Rest

handleException()

handleException(callable $fn) : \CodeLapse\Controller\Rest

ハンドラ実行中に例外が発生した時のハンドラを指定します。

Parameters

callable $fn

ハンドラ関数 (Exception $e)

Returns

\CodeLapse\Controller\Rest

processResponse()

processResponse( $data)

Parameters

$data

executeHandler()

executeHandler()

executeExceptionHandler()

executeExceptionHandler(\Exception $e)

Parameters

\Exception $e