0

こんにちは、codeigniter に Phil Sturgeons RESTFUL ライブラリを使用した経験がある人はいますか? 複数のアプリケーションからデータベースへのアクセスを提供するために、データベース用の Web サービスを作成することにしました。Web サイトは現在 Codeigniter で開発されているため、残りの API ライブラリを使用するのは簡単なソリューションでした。

私が抱えている問題は、問題が発生した場合に特定のエラーを返そうとしていることです。

現時点では、意図的に次のようなエラーを返しています。

require(APPPATH . 'libraries/REST_Controller.php');

class Settings_api extends REST_Controller {

    function settings_get()
    {
        $this->response(NULL, 404);
    }
}

URLに直接アクセスすると、空白のページが表示されます。「NULL」をメッセージに置き換えるとメッセージを返すことができますが、404エラーとは言えませんが、続く

$user = json_decode(file_get_contents('http://www.example.co.uk/api/settings_api/settings/'));

echo $user;

次に、次の行を示します

Message: file_get_contents(http://www.example.co.uk/api/settings_api/settings/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 

どちらの場合も、提供するメッセージと共に 404 エラーを返したいと思います。これは可能ですか?もしそうなら、私を正しい方向に向けることができますか?

ありがとう

4

1 に答える 1

2

PHP によって生成されるエラー メッセージは、私が知る限り、これについてできることは何もありません (@演算子を使用する以外に、これはお勧めしません)。したがって、唯一のオプションは、file_get_content()の戻り値を手動で確認することです。

$response = file_get_contents('http://...');

if ($response === false) {
    // return whatever you feel is appropriate
} else {
    $user = json_decode($response);
    echo $user;
}

編集探しているものである Stackoverflow でこの回答
を 見つけました。

于 2013-01-13T11:11:30.183 に答える