0

API を書いているのですが、書いているコードがすぐにめちゃくちゃになってしまうのではないかと心配しています。

API からいくつかの異なるリソースからデータを取得する必要があるページもありますが、いたるところに大量の try および catch ステートメントが作成されています。例えば:

$topic_id = 100;
try
{
    $topic = AwesomeAPI::get('topics/' . $topic_id);
    $parts = AwesomeAPI::get('parts?topic_id=' . $topic_id);
    try
    {
        // Get another resource here
    }
    catch (Exception $e)
    {
        // Error
    }
}
catch (Exception $e)
{
    return Response::error('404');
}

私は、このコードが非常に厄介であると確信しており、リソースをループしてループ内の別のリソースを取得する必要がある場合はさらに悪化します。うん。

API を使用したクライアントとの対話に適切にアプローチする方法を考えています。

4

1 に答える 1

1

前にコメントしたように、私の意見では、すべての API ロジックをクラス内、つまりメソッド内に配置する必要があります。したがって、投稿されたようなコードを書く代わりに、次のようなものを書くことができます:

$api = new AwesomeAPI();
$topic = $api->GetTopic($topic_id);

そして、AwesomeAPIクラスは次のようになります。

public class AwesomeAPI()
{
    public $topic_url = 'somewebsite.com/topics?id{0}';

    function GetTopic($topicId)
    {
        //Some code here
        $response = 'Some response (could be a JSON Document)';
        return $response;
    }
}

このようにして、アプリケーション内のコードはより洗練され、明確になります。

これがお役に立てば幸いです

于 2013-01-25T03:38:06.780 に答える